Për të hequr një element nga një listë (array) e listës së tipit në Python, përdorni metodat e listës clear(), pop() dhe remove(). Ju gjithashtu mund të specifikoni pozicionin dhe gamën e listës duke përdorur indeksin ose copëzimin dhe më pas fshini atë duke përdorur deklaratën del.
Informacioni i mëposhtëm jepet këtu.
- Hiqni të gjithë elementët:
clear()
- Fshini një element në pozicionin e specifikuar dhe merrni vlerën e tij.:
pop()
- Kërkon për elementë me vlerën e specifikuar dhe heq elementin e parë.:
remove()
- Fshirja duke specifikuar pozicionin dhe diapazonin në pjesë të indeksit:
del
- Fshini në grup elementë të shumtë që plotësojnë kriteret.:treguesi i përfshirjes në listë
Vini re se listat mund të ruajnë të dhëna të llojeve të ndryshme dhe janë rreptësisht të ndryshme nga grupet. Përdorni grup (bibliotekë standarde) ose NumPy kur dëshironi të trajtoni vargje për procese që kërkojnë madhësinë e memories ose adresën e memories, ose për llogaritjen numerike të të dhënave në shkallë të gjerë.
- Hiqni të gjithë elementët:clear()
- Fshini një element në pozicionin e specifikuar dhe merrni vlerën e tij.:pop()
- Kërkon për elementë me vlerën e specifikuar dhe heq elementin e parë.:remove()
- Fshirja duke specifikuar pozicionin dhe diapazonin në pjesë të indeksit:del
- Fshini në grup elementë të shumtë që plotësojnë kriteret.:treguesi i përfshirjes në listë
Hiqni të gjithë elementët:clear()
Në metodën list clear(), hiqen të gjithë elementët, duke rezultuar në një listë boshe.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l.clear()
print(l)
# []
Fshini një element në pozicionin e specifikuar dhe merrni vlerën e tij.:pop()
Metoda pop() e një liste mund të përdoret për të fshirë një element në një pozicion të caktuar dhe për të marrë vlerën e atij elementi.
Numri i parë (fillestar) është 0.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.pop(0))
# 0
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.pop(3))
# 4
print(l)
# [1, 2, 3, 5, 6, 7, 8, 9]
Një vlerë negative mund të përdoret gjithashtu për të specifikuar pozicionin nga fundi (i fundit). Fundi (i fundit) është -1.
print(l.pop(-2))
# 8
print(l)
# [1, 2, 3, 5, 6, 7, 9]
Nëse argumenti hiqet dhe nuk specifikohet asnjë pozicion, elementi në fund (i fundit) fshihet.
print(l.pop())
# 9
print(l)
# [1, 2, 3, 5, 6, 7]
Përcaktimi i një pozicioni që nuk ekziston do të rezultojë në një gabim.
# print(l.pop(100))
# IndexError: pop index out of range
Vini re se pop(0), i cili heq elementin e parë, kërkon koston e mëposhtme dhe nuk është një operacion efikas. Shihni faqen e mëposhtme në wiki zyrtare për kompleksitetin llogaritës të operacioneve të ndryshme në lista.O(n)
O(1)
Lloji deque ofrohet në modulin standard të koleksioneve të bibliotekës si një lloj që fshin elementet në krye me këtë kosto. Për shembull, nëse doni të trajtoni të dhënat si një radhë (FIFO), është më efikase të përdorni deque.
Kërkon për elementë me vlerën e specifikuar dhe heq elementin e parë.:remove()
Metoda list remove() mund të përdoret për të kërkuar elementë me të njëjtën vlerë siç është specifikuar dhe për të hequr elementin e parë.
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']
Nëse lista përmban më shumë se një element që përputhet me vlerën e specifikuar, vetëm i pari do të hiqet.
l.remove('Bob')
print(l)
# ['Charlie', 'Bob', 'Dave']
Nëse specifikohet një vlerë joekzistente, ndodh një gabim.
# l.remove('xxx')
# ValueError: list.remove(x): x not in list
Fshirja duke specifikuar pozicionin dhe diapazonin në pjesë të indeksit:del
Ju gjithashtu mund të përdorni deklaratën del për të hequr elementë nga lista.
Specifikoni elementin që do të fshihet nga indeksi i tij. Indeksi i parë (fillestar) është 0, dhe indeksi i fundit (përfundimtar) është -1.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[0]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[-1]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8]
del l[6]
print(l)
# [1, 2, 3, 4, 5, 6, 8]
Nëse specifikoni një gamë me feta, mund të fshini shumë elementë njëherësh.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[2:5]
print(l)
# [0, 1, 5, 6, 7, 8, 9]
l = list(range(10))
del l[:3]
print(l)
# [3, 4, 5, 6, 7, 8, 9]
l = list(range(10))
del l[4:]
print(l)
# [0, 1, 2, 3]
l = list(range(10))
del l[-3:]
print(l)
# [0, 1, 2, 3, 4, 5, 6]
Është gjithashtu e mundur të specifikoni të gjithë gamën dhe të fshini të gjithë elementët.
l = list(range(10))
del l[:]
print(l)
# []
[start:stop:step]
Nëse specifikoni diapazonin në fetë në këtë mënyrë dhe specifikoni hapin rritës, mund të fshini elementë të shumtë kërcyes njëherësh.
l = list(range(10))
del l[2:8:2]
print(l)
# [0, 1, 3, 5, 7, 8, 9]
l = list(range(10))
del l[::3]
print(l)
# [1, 2, 4, 5, 7, 8]
Për më shumë informacion rreth prerjes, shihni artikullin vijues.
Fshini në grup elementë të shumtë që plotësojnë kriteret.:treguesi i përfshirjes në listë
Procesi i heqjes së elementeve që plotësojnë kushtet është i barabartë me procesin e lënies (nxjerrjes) të elementeve që nuk plotësojnë kushtet. Shënimi i të kuptuarit të listës përdoret për këtë lloj përpunimi.
- Artikuj të ngjashëm:Duke përdorur shënimin e kuptimit të listës Python
Një shembull i heqjes së elementeve tek ose çift (= lënia e elementeve çift ose tek) është paraqitur më poshtë.%
Ky është operatori i mbetur.i % 2
Kjo është pjesa e mbetur e i pjesëtuar me 2.
Në shënimin e kuptimit të listës, krijohet një listë e re. Ndryshe nga metodat e tipit të listës të prezantuara deri më tani, lista origjinale mbetet e pandryshuar.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print([i for i in l if i % 2 == 0])
# [0, 2, 4, 6, 8]
print([i for i in l if i % 2 != 0])
# [1, 3, 5, 7, 9]
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Shembuj të tjerë. Një shumëllojshmëri e përpunimit është e mundur në varësi të shprehjes së kushtëzuar.
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print([s for s in l if s != 'Bob'])
# ['Alice', 'Charlie', 'David']
print([s for s in l if s.endswith('e')])
# ['Alice', 'Charlie']
Nëse dëshironi të hiqni elementë dublikatë, përdorni llojin e grupit të caktuar.
print(list(set(l)))
# ['David', 'Alice', 'Charlie', 'Bob']