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

  • Post author:
  • Post category:其他


列表中有多个字典,如何取字典中的值,如下面的列表中有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])

在这里插入图片描述

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'])

输出结果

在这里插入图片描述

如果需要取所有字典的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'])

结果截图:

在这里插入图片描述



版权声明:本文为baidu_24030347原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。