リスト [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, T1024] があり、値 1 をチェックしたいのですが、もし私が...
if list.__contains__(1):
次に、1、10、T1024 を取得します。これを行う簡単な方法はありますか。ある種の正規表現を使用している可能性があります。また、「for」ループよりも「contains」ループの方がはるかに高速ですか?
皆さんありがとう、
いいえ、それはわかりません。
まず、これは辞書ではなくリストです。
次に、ここに投稿したのは SyntaxError です (T1024
たまたま以前に定義したオブジェクトの名前でない限り)。
また、正しいイディオムは
if 1 in mylist:
list
最後に、変数名として使用しないでください。
次のようにリストを定義した場合、表示されている結果が得られます。
mylist = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "T1024"]
そして、次のようにチェックした場合"1"
:
for item in mylist:
if "1" in item:
print item
これは、in
演算子が文字列に適用されるときに部分文字列をチェックするためです。
演算子を使用してin
、リストのメンバーシップを確認できます。
if 1 in list:
また、リスト (持っているもの - 値の順序付けられたコレクション) と辞書 (キーと値のペアの順序付けられていないコレクション) の違いを明確にする必要があります。
あなたが言っているのは辞書であり、リスト内の特定の値をチェックするには、次のようにします。
if 1 in myList:
doSomething
else:
doSomethingElse