8 Mayıs 2010, CUMARTESİ
Bir liste python değeri öğe silmek için basit bir yolu var mı?
a=[1,2,3,4]
b=a.index(6)
del a[b]
print a
Yukarıdaki, aşağıdaki hata gösterir:
Traceback (most recent call last):
File "D:\zjm_code\a.py", line 6, in <module>
b=a.index(6)
ValueError: list.index(x): x not in list
Bunu yapmak için var:
a=[1,2,3,4]
try:
b=a.index(6)
del a[b]
except:
pass
print a
Ama daha basit bir şekilde bunu yapmak için değil mi?
CEVAP
8 Mayıs 2010, CUMARTESİ
Bir listedeki bir elemanın ilk oluşum kaldırmak için, sadece list.remove
kullanın:
>>> a = [1, 2, 3, 4]
>>> a.remove(2) # 2 is not the position!
>>> print a
[1, 3, 4]
Senin eleman geçtiği kaldırmaz unutmayın. Bu liste bir kavrama kullanın
>>> a = [1, 2, 3, 4, 2, 3, 4, 2, 7, 2]
>>> a = [x for x in a if x != 2]
>>> print a
[1, 3, 4, 3, 4, 7]
Bunu Paylaş:
Ne varsa bir liste içindeki bir öğeyi ...
python sözlük-değeri anahtar çiftleri ...
Python liste Dilimleme değerleri atama...
Python ile bir dize bir dize için bir ...
Modern Python özel istisnalar bildirme...