列表中有多个字典,如何取字典中的值,如下面的列表中有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 版权协议,转载请附上原文出处链接和本声明。