[1, 1, 1, 2, 2, 3].count(True)
>>> 3
neden 0
için i
eşit değil tüm değerler için bool(i)
döner True
eğer bu dönüş 3
yerine 6
?tamsayı
[1, 1, 1, 2, 2, 3].count(True)
>>> 3
neden 0
için i
eşit değil tüm değerler için bool(i)
döner True
eğer bu dönüş 3
yerine 6
?tamsayı
In [33]: True == 1
Out[33]: True
In [34]: True == 2
Out[34]: False
In [35]: True == 3
Out[35]: False
True
ve False
bool
örnekleri olan ve bool
int
bir alt sınıfıdır. the docs itibaren
:
[Booleans] hakikati temsil Yanlış ve Doğru değer verir. False ve True değerlerini temsil eden iki nesne , yalnızca Boole nesneleridir. Boole tipi düz tamsayılar bir alt tipi olduğunu ve Boole neredeyse tüm bağlamlarda, istisna olmak olduğunu, dizeleri "Yanlış" bir dizeye dönüştürüldüğünde veya sırasıyla değerler 0 ve 1 gibi davranacaksan değerleri "True" sırasıyla döndürülür.
Bu iyi bir anlama ile yapılır: Yanlış hakkında belirsizlik yoktur çünkü
>>> sum(1 for i in [1,1,1,2,2,3,0] if i)
6
veya
sum(bool(i) for i in [1,1,1,2,2,3,0])
Veya tam tersi şekilde saymak 0
dışında bir
>>> li=[1, 1, 1, 2, 2, 3, 0]
>>> len(li) - li.count(False)
6
Daha da iyisi:
Ben aslında kullanmak isteyen edildi kod olmadığını açıklığa gerekirdi
@FreeAsInGimme: Tamam - iyi, yardım etmeye çalışıyorum ... –
Hayır, hayır, girişi takdir ediyorum. Ne kadar çok şey öğrenebilirim, o kadar iyi. – FreeAsInGimme