【发布时间】:2015-04-11 00:08:01
【问题描述】:
无法将这些循环转化为字典理解 - 这可能是不可能的。
一般的想法是我有一个排除字典,如下所示:
excludes = {
"thing1": ["name", "address"],
"thing2": ["username"]
}
然后我有一个更大的字典,我想使用排除“清理”
original_dict = {
"thing1": {"name": "John", "address": "123 Anywhere Drive", "occupation": "teacher" },
"thing2": {"username": "bearsfan123", "joined_date": "01/01/2015"},
"thing3": {"pet_name": "Spot"}
}
如果我运行以下命令:
for k, v in original_dict.iteritems():
if k in excludes.keys():
for key in excludes[k]:
del v[key]
我只剩下:
original_dict = {
"thing1": {"occupation": "teacher" },
"thing2": {"joined_date": "01/01/2015"},
"thing3": {"pet_name": "Spot"}
}
这是完美的,但我不确定是否可以更好地将其表示为字典理解 - 只需添加我想要的键而不是删除我不想要的键。
我已经进入第二个for,但不知道如何在
new_dict = {k: v for (k, v) in original_dict.iteritems()}
【问题讨论】:
标签: python dictionary list-comprehension dictionary-comprehension