O garantisi var False == 0ve True == 1Python (kullanıcı tarafından yeniden olmadığını varsayarak)? Örneğin, Python'un sürümü ne olursa olsun (hem mevcut hem de muhtemelen gelecekteki olanlar) aşağıdaki kodun her zaman aynı sonuçları üreteceği garanti edilir mi?
0 == False # True
1 == True # True
['zero', 'one'][False] # is 'zero'
Resmi belgelere yapılan göndermeler çok takdir edilecektir!
Düzenleme : Birçok boolcevapta belirtildiği gibi, kaynağını devralır int. "Belgelerine resmen o programcılar, tamsayılar devralan boolelerde güvenebilirsiniz söylüyor mu: Soru nedenle olarak yeniden dökülebilir değerlerle 0ve1 ?". Bu soru, uygulama ayrıntıları nedeniyle başarısız olmayacak sağlam kod yazma ile ilgilidir!
sum(bool_list). Aksi takdirde yazmanız gerekir sum(1 for x bool_list if x).
bool_list.count(True)daha açık olduğunu söyleyebilirim ; Ayrıca 3 kat daha hızlı… :)