1

こんにちは、リスト内のリストの名前を出力しようとしています。次のことを試しましたが、できることはリスト内のリストの値を出力することだけです。リストの名前ではありません:

list1 = [1,2,3]
list2 = [1,2]
list3 = [1,2,3,4]
lists = [list1,list2,list3]

for x in lists:
  if len(x) == 4:
  print (x)
4

3 に答える 3

4

ここで使用しdictionaryます:

>>> dic = {'list1': range(1, 4), 'list2':range(1, 3), 'list3':range(1, 5)}
>>> for k, v in dic.items():
...     if len(v) == 4:
...         print k
...         
list3

lists = [list1,list2,list3]この代入は 3 つのリスト オブジェクトへの新しい参照を作成するだけなので、ここではを使用することはできません。

>>> lists[0] is list1
True

したがって、オブジェクト[1,2,3]には と の 2 つの参照がlist1ありlists[0]ます。

于 2013-10-14T10:35:13.770 に答える
1

はい、できますが、リストではありません。dict [辞書] を使用することをお勧めします。ディクショナリは、キーとキーに関連付けられた値を持つ Python のハッシュ構造です。それらをキーと値のペアにします。
通常、リストは次のようになります

d = {'one':1,'two':2}  

「1」を出力する print d[one] のようにアクセスできます。

あなたの場合、同じ辞書を使用できます...

d = {'list1': list1,'list2': list2,'list3': list3}  

print d[list1] のように呼び出されると、list1 のすべての要素が出力されます。:)

于 2013-10-14T10:48:28.117 に答える
0

それは不可能です。辞書を使用し、名前をキーとして使用し、リストを値として設定することを検討することをお勧めします。

于 2013-10-14T10:37:00.957 に答える