키가 값이 사전에 중복되면 키를 제거하는 함수를 만들어야합니다. 예를 들어 ...사전의 특정 키 제거
remove_dups({1:4, 2:4, 3:2})
{3:2}
remove dups({1:2, 2:5})
{1:2, 2:5}
나는 어떻게 해야할지 잘 모르겠다. 목록 내포 또는 가져 오기없이이 작업을 수행하는 방법을 알아야합니다. dict.values () - -
키가 값이 사전에 중복되면 키를 제거하는 함수를 만들어야합니다. 예를 들어 ...사전의 특정 키 제거
remove_dups({1:4, 2:4, 3:2})
{3:2}
remove dups({1:2, 2:5})
{1:2, 2:5}
나는 어떻게 해야할지 잘 모르겠다. 목록 내포 또는 가져 오기없이이 작업을 수행하는 방법을 알아야합니다. dict.values () - -
def remove_dups(d):
c, result = {}, {}
for item in d.values():
c[item] = c.get(item, 0) + 1
for k, v in d.items():
if c[v] == 1:
result[k] = v
return result
이
from collections import Counter
def remove_dups(d):
c = Counter(d.values())
return {k:v for k, v in d.items() if c[v] == 1}
처럼
Counter
및 DICT 이해를 사용하는 것이 작업을 수행하는 가장 좋은 및 간단한 방법을 (그것이 숙제 같은 소리 때문에 나는 전체 코드를 제공하지 않습니다)
죄송합니다. 목록 작성 또는 가져 오기없이이 작업을 수행하는 방법을 알아야한다는 것을 잊어 버렸습니다. – user3014764
@ user3014764 지금 답변을 확인하십시오 – thefourtheye
정말 고마워요! – user3014764
사전 기능을 갖는리스트로
{1, 2, 4 : 4 : 3 (2)}의 모든 값을 얻는 .values () = 4,4,2를 ]
그런 다음 사용자 카운터 (컬렉션 가져 오기 카운터에서)를 수행 할 수 있습니다. - 1보다 큰 수로 값을 확인하고 해당 값과 연결된 키를 제거합니다.
는숙제가 아닙니다. 나는 나의 이전 시험을보고있는 나의 최종 시험을 위해 공부하고있다. 그리고 나는이 질문에 달라 붙었다, 나는 가능한 한 많이 배우려고 노력하고있다. – user3014764
문제 없음 - 상기 용액을 계속 - 데프 remove_dups (d) C = 카운터 (d.values ()) keys_to_remove = [] d.iteritems()에서 K, V 대 : C의 경우 [V ]> 1 : keys_to_remove.append (k) keys_to_remove의 k에 대한 : del (dict [k]) –
아마도 도움이 될 수 있습니다 : http://stackoverflow.com/questions/14766904/python-remove-duplicate-value-in-a-combined-dictionarys-list –
가능한 중복 [Python : 값으로 사전 정렬] (http://stackoverflow.com/questions/613183/python-sort-a-dictionary-by - 값) – tiago