我有一个数据集,它是一个列表值的字典列表。
例如:
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
答案 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'][...]