在Python中打印出列表元素

时间:2014-10-29 08:14:29

标签: python list

我有一个列表如下:

a = [1,2,3]
b = [2,3,4]
c = [3,4,5]
lists = [a,b,c]

我想在“list”中打印出第一个元素的名称,如下所示:

print lists[0]
a

但是当然python不能像那样工作并且这样做:

print lists[0]
[1,2,3]

如何在不打印列表[0]的内容的情况下打印出列表[0]的名称?

3 个答案:

答案 0 :(得分:2)

听起来您想使用OrderedDict

from collections import OrderedDict
dlists = OrderedDict([('a', [1,2,3]), ('b', [2,3,4]), ('c', [3,4,5])])
print dlists.keys()[0]

答案 1 :(得分:1)

您可以查找范围以查找与您要查找的对象关联的名称。

def namesOf(x, scope=globals()):
  r = []
  for name, value in scope.iteritems():
    if value is x:
      r.append(name)
  return r


a = [1,2,3]
b = [2,3,4]
c = [3,4,5]

lists = [a,b,c]


print namesOf(lists[0], locals())

但是如果你知道自己在做什么就去做。

答案 2 :(得分:0)

最好的选择似乎是使用字典。

a = [1,2,3]
b = [2,3,4]
c = [3,4,5]
data = {'a':a,'b':b,'c':c}

如果我想打印出我可以做的第一个列表的名称:

data.keys()[0] 
'a'