【发布时间】:2010-09-28 15:54:03
【问题描述】:
以下是从不同来源编译字典中的数据时的常见情况:
假设你有一本存储事物列表的字典,例如我喜欢的事物:
likes = {
'colors': ['blue','red','purple'],
'foods': ['apples', 'oranges']
}
还有一个包含一些相关值的字典:
favorites = {
'colors':'yellow',
'desserts':'ice cream'
}
然后,您想要遍历“收藏夹”对象,或者将该对象中的项目附加到具有“喜欢”字典中适当键的列表中,或者向其添加一个新键,其值为包含“收藏夹”中的值。
有几种方法可以做到这一点:
for key in favorites:
if key in likes:
likes[key].append(favorites[key])
else:
likes[key] = list(favorites[key])
或
for key in favorites:
try:
likes[key].append(favorites[key])
except KeyError:
likes[key] = list(favorites[key])
还有更多...
我通常使用第一种语法,因为它感觉更像 Python,但如果有其他更好的方法,我很想知道它们是什么。谢谢!
【问题讨论】: