[英]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.