私は整数のリストを持っています。これはmyList
としましょう。私はすべてのアイテムが1に等しいときに何かしたい。アイデアは、この種のコードを最適化することである。リスト内の各項目を評価する最も良い方法
if myList[0] == 1 and myList[1] == 1 and ... :
do something
私は整数のリストを持っています。これはmyList
としましょう。私はすべてのアイテムが1に等しいときに何かしたい。アイデアは、この種のコードを最適化することである。リスト内の各項目を評価する最も良い方法
if myList[0] == 1 and myList[1] == 1 and ... :
do something
ビルトインall
機能使用:それはテストを停止しますので、これは効率的である
if all(item == 1 for item in myList):
do_something()
をitem == 1
状態が失敗するとすぐに
FWIW、あなたは、このようにそれを行うことができます:
if all(map((1).__eq__, myList)):
do_something()
しかし、最初の方法が読むことが非常に良くなります。そして、それは一般的に__eq__
のような "ダンダー"メソッドを呼び出す悪いスタイルと考えられています。
使用all
:
if all(x == 1 for x in myList):
...
ブールallOneを作成し、Trueに設定します。すべての項目をループし、0の場合はfalseに設定し、ループから抜け出す。あなたが望むものを続ける EDIT:正しい間にall関数を使うことができます.. – ShadowFlame
'all(要素== 1 myListの要素):'? – jonrsharpe
はい!これは私がする必要があるものです...正確にキーワード "all"をしていますか? – Alexis