【发布时间】:2019-03-02 15:16:36
【问题描述】:
我有一个函数可以遍历一个字典列表,将指定的键值对返回到一个新的字典列表中:
data = [
{'user': {'login': 'foo1', 'id': 'bar2'}, 'body': 'Im not sure', 'other_field': 'value'},
{'user': {'login': 'foo2', 'id': 'bar3'}, 'body': 'Im still not sure', 'other_field': 'value'},
]
filtered_list = []
keys = ['user','body']
for i in data:
filt_dict = dict((k, i[k]) for k in keys if k in i)
filtered_list.append(filt_dict)
user 键包含一个名为login 的子键;如何将其添加到键参数列表中,而不是键 user?
样本输出:
filtered_list = [
{'login': 'foo1', 'body': 'Im not sure'},
{'login': 'foo2', 'body': 'Im still not sure'},
]
【问题讨论】:
-
伪代码
keys的输出究竟应该是什么样子? -
见上面的编辑。
-
我们可以将
keys结构更改为元组列表吗?例如,[('user', 'login'), ('body',)] -
是的,这很好,除了登录字段,例如(“登录”,“正文”)。
-
顺便说一句,您应该修复正文字符串中的引号。
标签: python list dictionary nested key