こんにちは、リスト内のリストの名前を出力しようとしています。次のことを試しましたが、できることはリスト内のリストの値を出力することだけです。リストの名前ではありません:
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)
ここで使用し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]
ます。
はい、できますが、リストではありません。dict [辞書] を使用することをお勧めします。ディクショナリは、キーとキーに関連付けられた値を持つ Python のハッシュ構造です。それらをキーと値のペアにします。
通常、リストは次のようになります
d = {'one':1,'two':2}
「1」を出力する print d[one] のようにアクセスできます。
あなたの場合、同じ辞書を使用できます...
d = {'list1': list1,'list2': list2,'list3': list3}
print d[list1] のように呼び出されると、list1 のすべての要素が出力されます。:)
それは不可能です。辞書を使用し、名前をキーとして使用し、リストを値として設定することを検討することをお勧めします。