在列表中打印列表的名称

时间:2013-10-14 10:32:36

标签: python list

您好我正在尝试在列表中打印列表的名称。我尝试过以下操作,但我所能做的就是在列表中打印列表的值。不是列表的名称:

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)

3 个答案:

答案 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]现在有两个引用list1lists[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并使用名称作为键并将列表设置为值。