Chúng tôi có một danh sách có các phần tử là từ điển. Chúng tôi cần làm phẳng nó để có được một từ điển duy nhất trong đó tất cả các phần tử danh sách này đều có mặt dưới dạng các cặp khóa-giá trị.
Với cho và cập nhật
Chúng tôi lấy một từ điển trống và thêm các phần tử vào đó bằng cách đọc các phần tử từ danh sách. Việc bổ sung các phần tử được thực hiện bằng cách sử dụng chức năng cập nhật.
Ví dụ
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))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
('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', )
Với giảm
Chúng tôi cũng có thể sử dụng chức năng giảm cùng với chức năng cập nhật để đọc các phần tử từ danh sách và thêm nó vào từ điển trống.
Ví dụ
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))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
('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', )
Với ChainMap
Hàm ChainMap sẽ đọc từng phần tử từ danh sách và tạo một đối tượng tập hợp mới nhưng không phải từ điển.
Ví dụ
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))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given array: [{'Mon': 2}, {'Tue': 11}, {'Wed': 3}] Type of Object: Flattened object: ChainMap({'Mon': 2}, {'Tue': 11}, {'Wed': 3}) Type of flattened Object: