반응형
다음과 같이 튜플 목록을 변환하는 방법을 찾고 있습니다.
[(1,4),(2,4),(3,4),(4,15),(5,15),(6,23),(7,23),(8,23),(9,15),(10,23),(11,15),(12,15)]
다음과 같은 사전에 :
{4:[1,2,3] ,15:[4,5,9,11,12], 23:[6,7,8,10]}
각 튜플의 두 번째 요소는 사전 키가되고 해당 키와 관련된 모든 첫 번째 튜플 요소는 값 목록에 저장됩니다.
어떻게 할 수 있는지 보여줄 수 있습니까?
해결 방법
>>> from collections import defaultdict
>>> l= [(1,4),(2,4),(3,4),(4,15),(5,15),(6,23),(7,23),(8,23),(9,15),(10,23),(11,15),(12,15)]
>>> d= defaultdict( list )
>>> for v, k in l:
... d[k].append(v)
...
>>> d
defaultdict(<type 'list'>, {23: [6, 7, 8, 10], 4: [1, 2, 3], 15: [4, 5, 9, 11, 12]})
>>> [ {k:d[k]} for k in sorted(d) ]
[{4: [1, 2, 3]}, {15: [4, 5, 9, 11, 12]}, {23: [6, 7, 8, 10]}]
참조 페이지 https://stackoverflow.com/questions/1233546
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python에 Multiline Lambda가 없음 : 왜 안됩니까? (0) | 2021.02.06 |
---|---|
파이썬 세미콜론은 무엇을합니까? (0) | 2021.02.06 |
파이썬에서 세제곱근 계산 (0) | 2021.02.06 |
파이썬 역 목록 (0) | 2021.02.06 |
파이썬 CSV 파일을 numpy 배열로, 첫 번째 행을 문자열로, 나머지는 부동 소수점으로 읽습니다. (0) | 2021.02.06 |
댓글