在python 3.8中,我有以下命令:
dict_base= dict()
然后在我的操作中生成另一个dict
dict_1={'Sedan': 'Accord',
'SUV': 'Pilot'
}
dict_base.append(dict1)
这会将dict1附加到dict_base。 接下来,我有第二个口述
dict_2={'Sedan': 'Camry',
'SUV': 'Highlander'
}
dict_base.append(dict_2)
我期望看到的结果如下:
dict_base={'Sedan': ['Accord', 'Camry'],
'SUV': ['Pilot', 'Highlander']
}
我看到的是
dict_base={'Sedan':'Camry',
'SUV':'Highlander'
}
因此,我不确定如何正确追加…因为我的追加操作似乎覆盖了以前的值。 谢谢
您可以使用collections.defaultdict而不是将dict_base定义为dict
可以这样-
您可以将
itertools
与collections
一起使用:您可以使用
collections
:见鬼,你甚至什么都不能用:
这可能是
collections.defaultdict
的一个很好的用例。您不能神奇地将一个包含字符串的dict的每个值附加到包含列表的dict的相应键。Python不知道您想做什么,所以您必须详细说明制作默认为缺少元素列表的词典:
对于
dict_1
、dict_2
等的每个元素,告诉python如何处理这些值:对
dict_2
执行相同的操作,或者更好地编写一个函数:您也可以使用传统的字典来实现这一点,特别是如果您提前知道键列表:
相关问题 更多 >
编程相关推荐