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

เรียบเรียงรายการพจนานุกรมใน Python


เรามีรายการที่มีองค์ประกอบเป็นพจนานุกรม เราจำเป็นต้องทำให้เรียบเพื่อให้ได้พจนานุกรมเดียวที่มีองค์ประกอบรายการทั้งหมดนี้เป็นคู่คีย์-ค่า

พร้อมสำหรับและอัปเดต

เราใช้พจนานุกรมเปล่าและเพิ่มองค์ประกอบเข้าไปโดยการอ่านองค์ประกอบจากรายการ การเพิ่มองค์ประกอบทำได้โดยใช้ฟังก์ชันอัปเดต

ตัวอย่าง

listA = [{'Mon':2}, {'Tue':11}, {'Wed':3}]
# printing given arrays
print("Given array:\n",listA)
print("Type of Object:\n",type(listA))
res = {}
for x in listA:
   res.update(x)
# Result
print("Flattened object:\n ", res)
print("Type of flattened Object:\n",type(res))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

('Given array:\n', [{'Mon': 2}, {'Tue': 11}, {'Wed': 3}])
('Type of Object:\n', )
('Flattened object:\n ', {'Wed': 3, 'Mon': 2, 'Tue': 11})
('Type of flattened Object:\n', )

พร้อมลด

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

ตัวอย่าง

from functools import reduce
listA = [{'Mon':2}, {'Tue':11}, {'Wed':3}]
# printing given arrays
print("Given array:\n",listA)
print("Type of Object:\n",type(listA))
# Using reduce and update
res = reduce(lambda d, src: d.update(src) or d, listA, {})
# Result
print("Flattened object:\n ", res)
print("Type of flattened Object:\n",type(res))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

('Given array:\n', [{'Mon': 2}, {'Tue': 11}, {'Wed': 3}])
('Type of Object:\n', )
('Flattened object:\n ', {'Wed': 3, 'Mon': 2, 'Tue': 11})
('Type of flattened Object:\n', )

ด้วย ChainMap

ฟังก์ชัน ChainMap จะอ่านแต่ละองค์ประกอบจากรายการและสร้างวัตถุคอลเลกชันใหม่แต่ไม่ใช่พจนานุกรม

ตัวอย่าง

from collections import ChainMap
listA = [{'Mon':2}, {'Tue':11}, {'Wed':3}]
# printing given arrays
print("Given array:\n",listA)
print("Type of Object:\n",type(listA))
# Using reduce and update
res = ChainMap(*listA)
# Result
print("Flattened object:\n ", res)
print("Type of flattened Object:\n",type(res))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given array:
[{'Mon': 2}, {'Tue': 11}, {'Wed': 3}]
Type of Object:

Flattened object:
ChainMap({'Mon': 2}, {'Tue': 11}, {'Wed': 3})
Type of flattened Object: