获取包含在列表列表中的字典的值

时间:2021-02-26 15:40:03

标签: python python-3.x list

有一个列表:

my_list = [
  [{'score':9, 'name':'Jack'}],
  [{'score':3, 'name':'Danielle'}]
]

我正在尝试遍历此列表,但不知道如何访问这些值。

for listing in my_list:
  print(listing['score'])

以上方法无效。我的理解是因为我似乎正在编写仍在第二个列表中的字典。但是,我无法找到获取访问权限的正确方法。

5 个答案:

答案 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

相关问题