列表中有多个字典,如何取字典中的值

列表中有多个字典,如何取字典中的值,如下面的列表中有3个字典:
list=[{‘pathname’: ‘nameone’, ‘num’: 1, ‘status’: ‘RUN’}, {‘pathname’: ‘nametwo’, ‘num’: 2, ‘status’: ‘RUN’}, {‘pathname’: ‘namethree’, ‘num’: 3, ‘status’: ‘RUN’}]
现在要取第2个字典中的num对应的值,值为2。
如果按照取列表中第二个字典,字典中的第二个值表示为:list[1][1] (注意,字典或列表的下标都是从0开始的)会有错误提示:

list=[{'pathname': 'nameone', 'num': 1, 'status': 'RUN'}, {'pathname': 'nametwo', 'num': 2, 'status': 'RUN'}, {'pathname': 'namethree', 'num': 3, 'status': 'RUN'}]
print(list[1][1])

列表中有多个字典,如何取字典中的值_第1张图片

Traceback (most recent call last):
  File "E:/testgui/testscript/testind/test.py", line 35, in <module>
    print(list[1][1])
KeyError: 1

Process finished with exit code 1

正确的表示应该是第二个字典中,取key对应的value值:

list=[{'pathname': 'nameone', 'num': 1, 'status': 'RUN'}, {'pathname': 'nametwo', 'num': 2, 'status': 'RUN'}, {'pathname': 'namethree', 'num': 3, 'status': 'RUN'}]
print(list[1]['num'])

输出结果
列表中有多个字典,如何取字典中的值_第2张图片
如果需要取所有字典的num值,需要增加循环。代码如下:

list=[{'pathname': 'nameone', 'num': 1, 'status': 'RUN'}, {'pathname': 'nametwo', 'num': 2, 'status': 'RUN'}, {'pathname': 'namethree', 'num': 3, 'status': 'RUN'}]
for table in list:
    print(table['num'])

结果截图:
列表中有多个字典,如何取字典中的值_第3张图片

你可能感兴趣的:(python)