0

私はpython 2.7を使用しています。リストの名前を自動的に変更する方法を見つけようとしています。

複数のリストがあることを説明しましょう

list1 = [1, 2, 3, 4, 5] 
list2 = [4, 5, 9, 3]
list3 = [8, 4, 3, 2, 1]

リストをループで呼び出して、どのリストに特定の番号が含まれているか含まれていないかを判断したいと思います。

私の最初の考えは

x = "list" + str(i) # (where i iterates in the loop)
print x

ただし、上記のコードを使用すると、文字列 "list1" (i=1 の場合) しか表示されません。

私が欲しいのは、list1 という名前のリストを呼び出し、.count() 演算子を使用して、番号が存在しない場合は存在するかどうかを判断できるようにすることです。リストがなくなるまで次のリストを呼び出したい(最終的には最大 30 個のリストになります)。

ありがとう、

ライアン

4

2 に答える 2

0

このようにアプローチしてはいけません。リストをコンテナーに入れて、代わりにそれらを反復処理します。

In [5]: for l in (list1, list2, list3):
   ...:     print l.count(2)
   ...:     
1
0
1

実際のユースケースでできることは、リストのリストを作成して動的に入力することです。

次に、特定の番号を含む最初のリストを取得するには、次のようにします。

In [6]: lists = [list1, list2, list3]

In [7]: next(l for l in lists if 9 in l)
Out[7]: [4, 5, 9, 3]
于 2013-05-30T22:39:25.323 に答える