我从数组数组创建一个默认字典:
>>> array = [['Aaron','1','2'],['Ben','3','4']]
>>> d = defaultdict(list)
>>> for i in array: d[i[0]].append({"num1":i[1],"num2":i[2]})
我的预期结果是:
>>> d
>>> defaultdict(<type 'list'>, {'Aaron': {'num1': '1', 'num2': '2'},
'Ben': {'num1': '3', 'num2': '4'}})
但我的结果是:
>>> d
>>> defaultdict(<type 'list'>, {'Aaron': [{'num1': '1', 'num2': '2'}],
'Ben': [{'num1': '3', 'num2': '4'}]})
就好像 defaultdict 试图将我的值保存在一个数组中,因为那是源列表!
任何人都知道这里发生了什么以及如何获得预期的结果?