【发布时间】:2019-09-01 17:55:37
【问题描述】:
我有一个字典列表,
ip_list = [{'1403': [-56, -58], 'data': '1'},
{'1403': [-56, -58], 'data': '0'}]
现在我需要在字典中添加一个新键(即“mac”)和值(即“xyz”),如果字典包含 'data' = 1 并且结果应该是,
expected_outcome = [{'1403': [-56, -58], 'data': '1', 'mac':'xyz'},
{'1403': [-56, -58], 'data': '0'}]
我试过了,
list_dict_comp = [dict(item, **{'mac':'xyz'}) for item in ip_list]
然而,上面的表达式给出了,
list_dict_comp = [{'1403': [-56, -58], 'data': '1', 'mac':'xyz'},
{'1403': [-56, -58], 'data': '0', 'mac':'xyz'}]
谁能帮我实现“expected_outcome”在一个表达式中同时使用列表和字典理解?
【问题讨论】:
-
这不是你应该用列表或字典理解来解决的问题。只需编写一个常规的 ol' 循环即可。
标签: python python-3.x list dictionary