在Python,如果你有一個包含名單的像CoffeeScript的字典中設置默認
mydict = {'foo': [], 'bar':[3, 4]}
字典,如果你想添加一些內容,列出你可以做
mydict.setdefault('baz', []).append(5)
不寫
key, list_element = 'baz', 5
if key in mydict:
mydict[key].append(list_element)
else:
mydict[key] = [list_element]
在Coffeescript中是否存在這個等價物?
在Python中,你真正想要的可能是'collections.defaultdict(list)'。然後附加一個值是'mylist ['baz']。append(5)'。 (另外,'mylist'是一個字典的誤導性名字。) – user2357112
對不起,修正:) – oguzalb
對Python代碼使用setdefault而不是'collections.defaultdict'非常好,我更喜歡它,因爲你仍然在使用常規字典,因此當引用不存在的元素而不是空列表(或任何其他defaultdict創建的)時,您將獲得KeyErrors。 –