您好我正在尝试在列表中打印列表的名称。我尝试过以下操作,但我所能做的就是在列表中打印列表的值。不是列表的名称:
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)
答案 0 :(得分: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]
在这里不起作用,因为这个赋值只是创建了对三个列表对象的新引用。
>>> lists[0] is list1
True
因此,对象[1,2,3]
现在有两个引用list1
和lists[0]
。
答案 1 :(得分:1)
是的,你可以做,但没有列表。你最好使用dict [dictinary]。字典是python中的散列结构,其中键和值与键相关联。使它们成为键值对 通常列表就像
d = {'one':1,'two':2}
可以像打印'1'那样打印'1';
对于您的情况,我们可以使用相同的词典......
d = {'list1': list1,'list2': list2,'list3': list3}
当像print一样调用d [list1]时会打印list1的所有元素。 :)
答案 2 :(得分:0)
这是不可能的。 您可能需要考虑使用dict并使用名称作为键并将列表设置为值。