有一个列表:
my_list = [
[{'score':9, 'name':'Jack'}],
[{'score':3, 'name':'Danielle'}]
]
我正在尝试遍历此列表,但不知道如何访问这些值。
for listing in my_list:
print(listing['score'])
以上方法无效。我的理解是因为我似乎正在编写仍在第二个列表中的字典。但是,我无法找到获取访问权限的正确方法。
答案 0 :(得分:5)
您可以通过精确匹配内部元素的签名来尝试此操作。这称为tuple unpacking
my_list = [
[{'score':9, 'name':'Jack'}],
[{'score':3, 'name':'Danielle'}]
]
for [listing] in my_list:
print(listing['score'])
# 9
# 3
答案 1 :(得分:2)
您对 python dictionaries 使用了错误的语法。
Python 字典在 {...}
之间声明。
您的列表应如下所示:
my_list = [
{'score':9, 'name':'Jack'},
{'score':3, 'name':'Danielle'}
]
编辑:
在您的编辑中,您有一个列表中的列表。试试
for listing in my_list:
print(listing[0]['score'])
答案 2 :(得分:1)
你创建的是一个二维列表,你需要在里面有字典
my_list = [
{'score':9, 'name':'Jack'},
{'score':3, 'name':'Danielle'}
]
for listing in my_list:
print(listing['score'])
答案 3 :(得分:1)
您需要 2 个循环,一个用于外部列表,一个用于内部列表:
my_list = [
[{'score':9, 'name':'Jack'}],
[{'score':3, 'name':'Danielle'}]
]
for sublist in my_list:
for dct in sublist:
print(dct['score'])
# 9
# 3
您也可以使用nested list comprehension:
print([dct['score'] for sublist in my_list for dct in sublist])
# [9, 3]
答案 4 :(得分:0)
您需要使用 {}
而不是 []
创建列表中的项目。
my_list = [
{'score':9, 'name':'Jack'},
{'score':3, 'name':'Danielle'}
]
[]
将创建一个 list
,而 {}
将创建一个 dict
。