在列表内的列表中显示列表值

时间:2013-12-02 15:00:09

标签: python

我有一个数据集,它是一个列表值的字典列表。

例如:

a = 
[
   {'node1':[1,2,3]},...,..
]

我想知道如何在node1内访问1或2?我知道如果我做了[0] [0],我会显示{'node1':[1,2,3]}。我以为a[0][0][0]会显示1,但我收到错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 0

5 个答案:

答案 0 :(得分:4)

a[number]是您的词典之一,即{'node1': [1, 2, 3], 'node2': [4, 5, 6]}

现在,a[number]['node1']返回属于'node1'的列表,即[1,2,3]。您可以正常访问该列表。

所以完整的表达式将是

a[0]['node1'][0]
>>> 1

答案 1 :(得分:3)

您需要使用密钥的名称为字典编制索引,在本例中为'node1'

>>> a = [{'node1':[1,2,3]}]
>>> a[0]['node1'][0]
1

答案 2 :(得分:3)

试试a[0]['node1'][0]。您可以通过其键引用dict中的项(在您的情况下为'node1')。像[0]这样的索引在字典中没有意义,因为它们的项目没有指定的顺序。 请注意,您的a[0][0]示例也会导致错误。 a [0]返回列表中的第一个字典:{'node1':[1,2,3]}

答案 3 :(得分:1)

a = [{'node1':[1,2,3]}]

>>> a[0]['node1'][0]

a [0]选择列表中的第一个元素,即map {'node1':[1,2,3]}。然后a [0] ['node1']选择键'node1'的地图值。最后,[0] ['node1'] [0]从列表中选择第一个元素,它是来自map的键的值。这给了1。

获取值2

>>> a[0]['node1'[1]

相应地更改索引。

答案 4 :(得分:0)

您可以尝试这样做:

a[0]['node1'][...]