配列の配列からデフォルトのdictを作成しています:
>>> 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が私の値を配列に保持しようとしているかのようです!
ここで何が起こっているのか、どうすれば期待される結果を得ることができるのか知っている人はいますか?