📝 使うリスト
l = [1, 0, [], (2, 3), 'AA', '', False, ''*3]
✅ True(truthy)な要素だけをカウント
new_l = [i for i in l if bool(i)]
print(new_l) # → [1, (2, 3), 'AA']
print(f"Trueの数 : {len(new_l)}") # → Trueの数 : 3
👀 解説
Pythonでは、次のような値は False(falsy)扱い になります:
0
-
''
(空文字) -
[]
(空リスト) -
()
(空タプル) -
False
そのもの
つまり、bool(x)
が True
になるものだけが「truthy」という風にいなります!
最短で書く
print(f"Trueの数 : {sum(bool(i) for i in l)}")
truthy、falshyの取り扱いは慣れなのでいっぱい練習しましょう!!