你们能想到任何一个等于 if/else 语句的衬里吗:
d = dict()
key = 1, 2
if key in d:
d[key]['idx'] += [2]
else:
d[key] = {'idx': [2]}
print d
?
编辑:谢谢大家。您将我缩小到 collection.defaultdict 和 dict.setdafault 并考虑到这一点,我能够实现我想要的:
from collections import defaultdict
d = dict()
key = 1, 2
d.setdefault(key, {'idx': []})
d[key]['idx'] += [2]
也许它不是一个衬里,因为它分布在 2 行上(setdefault() 调用,然后就地添加),但看起来更好。
但是,如果有人有任何想法如何使它成为真正的一个班轮,请分享它。