【工程類】【Python】辞書ネスト賦値

3224 ワード

時々、辞書をネストする必要がありますが、取り出すたびに存在するかどうかを判断するので、辞書を容易に初期化する方法があることを望んでいます.以下に、辞書ネストの初期化方法を示します.
def pack_data():
	dic = {}
	list1=[1,2,3]
	list2=[4,5,6]
	list3=[7,8,9]
	for layer1 in list1:
		dic[layer1] = {}.fromkeys(list2)
		for layer2 in list2:
			dic[layer1][layer2] = {}.fromkeys(list3)
			for layer3 in list3:
				dic[layer1][layer2][layer3]=5
	return dic
'''
      :
{1: {4: {8: 5, 9: 5, 7: 5}, 
     5: {8: 5, 9: 5, 7: 5}, 
2:  {4: {8: 5, 9: 5, 7: 5}, 
     5: {8: 5, 9: 5, 7: 5}, 
3:  {4: {8: 5, 9: 5, 7: 5}, 
     5: {8: 5, 9: 5, 7: 5}, 
     6: {8: 5, 9: 5, 7: 5}}}
'''