您好我正在尝试在列表中打印列表的名称。我尝试了以下方法,但我所能做的就是在列表中打印列表的值。不是列表的名称:
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
Usinglists = [list1,list2,list3]
在这里不起作用,因为这个赋值只是创建了对三个列表对象的新引用。
>>> lists[0] is list1
True
因此,该对象[1,2,3]
现在有两个引用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 的所有元素。:)
这是不可能的。您可能需要考虑使用dict并将名称用作键并将列表设置为值。