2009-11-12 16 views
69

Çalıştığım API boş [] listelerini döndürebilir.Python'da bir listenin boş olup olmadığını nasıl kontrol edebilirim?

aşağıdaki koşullu ifadeleri beklendiği gibi çalışmıyor:

if myList is not None: #not working 
    pass 

if myList is not []: #not working 
    pass 

Ne çalışacak?

+2

Kullanılması '=' yerine not' bu işi yapmış olur edilir 'arasında myList' formu tercih edilir' eğer olsa!. –

cevap

138
if not myList: 
    print "Nothing here" 
13

Boş listeleri boolean Yanlış bağlamlarda (örneğin if some_list: gibi) için değerlendirir.

9

Zarembisty'nin cevabını severim. Daha açık olmak istiyorsanız rağmen, her zaman yapabilirsiniz:

if len(my_list) == 0: 
    print "my_list is empty" 
+26

Bunu yapabilirsiniz, ancak şu anlama gelir 8 pep: - Diziler için, (dizeleri, listeler, tuples), boş dizileri yanlış olduğu gerçeğini kullanın. Evet: değilse seq: eğer seq: No: len if (sekans) len değilse (sekans) –

+0

Chris Lacasse bana bu işaret için teşekkür ederiz. Pep8 hakkında daha önce hiç tanımadım, daha önce – inspectorG4dget

+0

Ayrıca genel bir performans kötümserliği de olurdu: eğer bilmeniz gereken tek şey boşsa, potansiyel olarak uzun koleksiyonların elemanlarını saymak için zaman harcamanıza gerek yok. –

İlgili konular