[英]How to add multiple key-value pair to Dictionary at once?
我有一本字典my_dict
有一些元素,如:
my_dict = {
'India':'Delhi',
'Canada':'Ottawa',
}
现在我想将多个字典键值对添加到dict
中,例如:
my_dict = {
'India': 'Delhi',
'Canada': 'Ottawa',
'USA': 'Washington',
'Brazil': 'Brasilia',
'Australia': 'Canberra',
}
有什么办法可以做到这一点? 因为我不想一个接一个地添加元素。
使用update()
方法。
d= {'India':'Delhi','Canada':'Ottawa'}
d.update({'USA':'Washington','Brazil':'Brasilia','Australia':'Canberra'})
PS:将字典命名为dict
是一个可怕的想法。 它取代了内置的dict
。
你有几个选择:
update()
:d= {'India':'Delhi','Canada':'Ottawa'}
d.update({'USA':'Washington','Brazil':'Brasilia','Australia':'Canberra'})
merge
:d= {'India':'Delhi','Canada':'Ottawa'}
d2 = {'USA':'Washington','Brazil':'Brasilia','Australia':'Canberra'}
new_dict = d| d2
为了使这个答案部分的内容更有趣,您可以
将多个字典键值对添加到字典
这样做(在 Python 3.5 或更高版本中):
d = {'India': 'Delhi', 'Canada': 'Ottawa'}
d = {**d, 'USA': 'Washington', 'Brazil': 'Brasilia', 'Australia': 'Canberra', 'India': 'Blaa'}
产生一个输出:
{'India': 'Blaa', 'Canada': 'Ottawa', 'USA': 'Washington', 'Brazil': 'Brasilia', 'Australia': 'Canberra'}
这种替代方案甚至看起来都不是内存效率低下的。 哪一种与“Python 之禅”的假设相矛盾,
我不喜欢d.update()替代方案的是圆括号,当我略读并看到圆括号时,我通常会想到元组。 无论哪种方式,添加此答案只是为了玩得开心。
update() 方法运行良好
作为主要在 pandas 数据帧中工作的人,我想分享如何从数据帧中获取值并使用 update() 和 pd.to_dict() 将它们添加到字典中。
import pandas as pd
现有字典
my_dict = {
'India':'Delhi',
'Canada':'Ottawa',
}
具有要添加到字典的附加值的数据框
country_index = ['USA','Brazil','Australia']
city_column = ['Washingon','Brasilia','Canberra']
new_values_df = pd.DataFrame(data=city_column, index=country_index, columns=['cities'])
将数据框值添加到字典
my_dict.update(new_values_df.to_dict(orient='dict')['cities'])
字典现在看起来像
my_dict = {
'India': 'Delhi',
'Canada': 'Ottawa',
'USA': 'Washington',
'Brazil': 'Brasilia',
'Australia': 'Canberra',
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.