SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • chrmoe

    chrmoe

    7 Kasım 2006
  • super1988guy

    super1988guy

    9 Aralık 2007