Python: liste Bul
Bu keyifli rastlamak var:
item = someSortOfSelection()
if item in myList:
doMySpecialFunction(item)
ama bazen eğer liste dize oluşan bir liste yaparken tanınan değillerse olarak tüm öğeleri ile çalışmaz.
en 'pythonic' listesinde bir öğe bulma yolu: 8**?
CEVAP
İlk sorunuza gelince: bu kod gayet iyi olduğunu ve eğer item
myList
içindeki unsurlardan biri eşitse çalışması gerekir. Belki bir dize bulmak için deneyintam olarakyanlışlık muzdarip olan öğelerden biri ya da belki bir kayan nokta değeri kullanarak maç.
İkinci sorunuza gelince: aslında hakkında çeşitli yönleri Var"": . bulma
Kontrol eğer içinde bir şey varsa
Bu tarif şöyledir: Bir şeyi bir liste ya da değil. içinde olup olmadığını Kontrol ediniz Bildiğiniz gibi, bunun için in
operatörünü kullanabilirsiniz:
3 in [1, 2, 3] # => True
Bir toplama filtreleme
Yani, belirli bir koşula uyan bir sıradaki tüm öğeleri bulmak. Bu liste üreteci veya jeneratör ifadeleri kullanabilirsiniz:
matches = [x for x in lst if fulfills_some_condition(x)]
matches = (x for x in lst if x > 6)
İkinci bir dönüş olacakjeneratörbir tür "sadece sana yineleme. en kısa sürede inşa edilecek liste tembel olarak düşünebileceğiniz Bu arada, ilk olarak tam olarak eşdeğerdir
matches = filter(fulfills_some_condition, lst)
Python 2'de. Burada üst düzey iş görür ;) gördüğünüz Python 3 filter
bir listesini döndürmek değil, ama bir jeneratör gibi nesne.
Bulma ilk geçtiği
Eğer tek istediğin ilk şey eşleşen bir durum (ama bilmiyorum ne olduğunu henüz), iyi kullanmak için döngü (muhtemelen kullanarak else
fıkra olarak, hangi değil çok iyi bilinen). Ayrıca kullanabilirsiniz
next(x for x in lst if ...)
ilk maçı iade veya hiçbiri bulunursa StopIteration
zam olacak. Alternatif olarak, kullanabilirsiniz
next((x for x in lst if ...), [default value])
Bir öğenin yerini bulmak
Listeler için de bazen bilmek istiyorsanız yararlı olabilir index
yöntemi varneredebelirli bir öğe listesi
[1,2,3].index(2) # => 1
[1,2,3].index(4) # => ValueError
Python katılın, neden dize.liste yerin...
Nasıl rastgele bir liste Python kullan...
Python: liste üreteci ile bir sözlük o...
Liste Üreteci Vs Python. Göster...
Bir liste python değeri öğe silmek içi...