2
无法将这些循环转换为字典理解 - 这可能是不可能的。嵌套的Python词典理解
总的想法是,我排除的字典,看起来像这样:
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()}
这是优秀的,谢谢。我认为你是对的,但我应该首先提出这个问题:“我应该把它理解为理解”。我也喜欢for循环方法的变体,我可以用它来代替。 – diplosaurus 2015-02-10 20:25:21