Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เราจะรวมพจนานุกรม Python สองชุดเข้าด้วยกันได้อย่างไร


ใน Python 3.5+ คุณสามารถใช้โอเปอเรเตอร์ ** เพื่อแกะพจนานุกรมและรวมพจนานุกรมหลาย ๆ พจนานุกรมโดยใช้ไวยากรณ์ต่อไปนี้:

a = {'foo': 125}
b = {'bar': "hello"}
c = {**a, **b}
print(c)

สิ่งนี้จะให้ผลลัพธ์:

{'foo': 125, 'bar': 'hello'}

ไม่รองรับในเวอร์ชันเก่า อย่างไรก็ตาม คุณสามารถแทนที่ได้โดยใช้รูปแบบที่คล้ายกันต่อไปนี้:

a = {'foo': 125}
b = {'bar': "hello"}
c = dict(a, **b)
print(c)

สิ่งนี้จะให้ผลลัพธ์:

{'foo': 125, 'bar': 'hello'}

สิ่งที่คุณทำได้อีกอย่างคือการใช้ฟังก์ชันคัดลอกและอัปเดตเพื่อรวมพจนานุกรม ตัวอย่างเช่น

def merge_dicts(x, y):
z = x.copy() # start with x's keys and values
z.update(y) # modify z with y's keys and values
return z

a = {'foo': 125}
b = {'bar': "hello"}
c = merge_dicts(a, b)
print(c)

สิ่งนี้จะให้ผลลัพธ์:

{'foo': 125, 'bar': 'hello'}