-2

リスト [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, T1024] があり、値 1 をチェックしたいのですが、もし私が...

if list.__contains__(1):

次に、1、10、T1024 を取得します。これを行う簡単な方法はありますか。ある種の正規表現を使用している可能性があります。また、「for」ループよりも「contains」ループの方がはるかに高速ですか?

皆さんありがとう、

4

3 に答える 3

4

いいえ、それはわかりません。

まず、これは辞書ではなくリストです。

次に、ここに投稿したのは 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演算子が文字列に適用されるときに部分文字列をチェックするためです。

于 2012-09-12T07:15:55.650 に答える
3

演算子を使用してin、リストのメンバーシップを確認できます。

if 1 in list:

また、リスト (持っているもの - 値の順序付けられたコレクション) と辞書 (キーと値のペアの順序付けられていないコレクション) の違いを明確にする必要があります。

于 2012-09-12T07:17:08.410 に答える
1

あなたが言っているのは辞書であり、リスト内の特定の値をチェックするには、次のようにします。

if 1 in myList:
    doSomething
else:
    doSomethingElse
于 2012-09-12T07:15:59.777 に答える