요소가 사전인 목록이 있습니다. 이러한 모든 목록 요소가 키-값 쌍으로 존재하는 단일 사전을 얻으려면 평면화해야 합니다.
for 및 업데이트 사용
빈 사전을 가져와 목록에서 요소를 읽어 요소를 추가합니다. 요소의 추가는 업데이트 기능을 사용하여 수행됩니다.
예
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', )
감소 사용
또한 업데이트 기능과 함께 reduce 기능을 사용하여 목록에서 요소를 읽고 빈 사전에 추가할 수 있습니다.
예
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: