รวม List ของ Dictionary 2 ชุด โดย Key ที่ซ้ำกันใน Index เดียวกันจะเก็บค่าจาก List แรก Key ที่อยู่ใน List ที่ 2 แต่ไม่อยู่ใน List ที่ 1 จะถูกเพิ่มเข้าไป
ตัวอย่างโค้ด
my_list_1 = [{"aba": 1, "best": 4}, {"python": 10, "fun": 15}, {"scala": "fun"}]
my_list_2 = [{"scala": 6}, {"python": 3, "best": 10}, {"java": 1}]
print("The first list is : ")
print(my_list_1)
print("The second list is : ")
print(my_list_2)
for i in range(0, len(my_list_1)):
id_keys = list(my_list_1[i].keys())
for key in my_list_2[i]:
if key not in id_keys:
my_list_1[i][key] = my_list_2[i][key]
print("The result is : ")
print(my_list_1)
ผลลัพธ์
The first list is : [{'aba': 1, 'best': 4}, {'python': 10, 'fun': 15}, {'scala': 'fun'}]
The second list is : [{'scala': 6}, {'python': 3, 'best': 10}, {'java': 1}]
The result is : [{'aba': 1, 'best': 4, 'scala': 6}, {'python': 10, 'fun': 15, 'best': 10}, {'scala': 'fun', 'java': 1}]
คำอธิบาย
- สมมติ 2 List ความยาวเท่ากัน จับคู่ตาม Index
- วนลูป Index, ดึง Keys ของ Dict ใน List 1
- วนลูป Keys ของ Dict ใน List 2
- ถ้า Key ไม่อยู่ใน Dict List 1 -> เพิ่ม Key:Value จาก List 2
- Key ที่ซ้ำ (python, best) จะคงค่าเดิมจาก List 1 (ไม่ Overwrite)