일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Lodash
- PowerMock
- nginx
- {}
- GIT
- API
- ECMAScript2015
- AWS
- Travis CI
- REST
- 개인정보수정
- primitive type
- Linux
- node.js
- Code-coverage
- javascript
- NPM
- sanghaklee
- Unit-test
- sinopia
- 인프런
- Coveralls
- RESTful
- dict
- ubuntu
- python
- ATOM
- java
- JaCoCo
- Gitbook
Archives
- Today
- Total
이상학의 개발블로그
[Python] 리스트 딕셔너리 중복 제거 본문
python how to remove duplicate dict in list
https://stackoverflow.com/questions/11092511/python-list-of-unique-dictionaries
dict 전체 중복
# 순서가 보장되지 않음
list(map(dict, set(tuple(sorted(d.items())) for d in data)))
# 순서가 보장됨
list(map(dict, collections.OrderedDict.fromkeys(tuple(sorted(d.items())) for d in data)))
data = [
{'id': 1, 'name': 'hak', 'age': 30},
{'id': 2, 'name': 'woo', 'age': 31},
{'id': 3, 'name': 'ho', 'age': 29},
{'id': 1, 'name': 'hak', 'age': 30},
]
data1 = list(map(dict, set(tuple(sorted(d.items())) for d in data)))
data2 = list(map(dict, collections.OrderedDict.fromkeys(tuple(sorted(d.items())) for d in data)))
print(data1)
print(data2)
dict 특정 key 중복
list({v['id']:v for v in data}.values())
- 이 방법은 특정
key
에 대한 중복 제거기 때문에 사용하지 않는다. - 만약, 특정 key가 중복인 경우를 중복으로 바라본다면 이 방법을 사용한다.
'Python' 카테고리의 다른 글
[Python] the virtual environment was not created successfully because ensurepip is not available. (1) | 2021.04.14 |
---|---|
Ubuntu 18.04(Bionic) Python 3.8 설치 (0) | 2021.03.04 |
[Python] 딕셔너리 기본 값 (0) | 2020.02.21 |
Comments