2016-12-23 5 views
0

私は整数のリストを持っています。これはmyListとしましょう。私はすべてのアイテムが1に等しいときに何かしたい。アイデアは、この種のコードを最適化することである。リスト内の各項目を評価する最も良い方法

if myList[0] == 1 and myList[1] == 1 and ... : 
     do something 
+0

ブールallOneを作成し、Trueに設定します。すべての項目をループし、0の場合はfalseに設定し、ループから抜け出す。あなたが望むものを続ける EDIT:正しい間にall関数を使うことができます.. – ShadowFlame

+0

'all(要素== 1 myListの要素):'? – jonrsharpe

+0

はい!これは私がする必要があるものです...正確にキーワード "all"をしていますか? – Alexis

答えて

2

ビルトインall機能使用:それはテストを停止しますので、これは効率的である

if all(item == 1 for item in myList): 
    do_something() 

item == 1状態が失敗するとすぐに


FWIW、あなた、このようにそれを行うことができます:

if all(map((1).__eq__, myList)): 
    do_something() 

しかし、最初の方法が読むことが非常に良くなります。そして、それは一般的に__eq__のような "ダンダー"メソッドを呼び出す悪いスタイルと考えられています。

0

使用all

if all(x == 1 for x in myList): 
    ... 
関連する問題