defaultdict를 사용하지 않고 이것을 수행하는 가장 쉬운 방법은 무엇입니까? 코어 파이썬 기능을 사용하기에 너무 성가신 경우 defaultdict는 괜찮습니다.사전의 동일한 키에 다른 값의 여러 목록 추가하기
목록으로 키 목록이 있습니다.
값이있는 목록을 몇 개 만들 수있는 짧은 루프가 있습니다. 그 중 하나는 dict의 키에 매핑하려고합니다.
결국 결국 키당 여러 값을 얻게됩니다. 그런 다음 인쇄하십시오. 이것은 내가 지금까지 무엇을 가지고
...이 코드
Keys = ['A','B','C'] #the keys that will be mapped to all values start here in a list
Values = [] #starting with empty values
Dict = dict(zip(Keys, Values)) #starting with a dict of keys mapped to empty values
x=0
while x < 5:
x += 1
MoreValues = [1+x,2+x,3] #adding x only to give some different values
Dict = dict(zip(Keys, MoreValues))
print Dict
출력은 다음과 같습니다
{'A': 2, 'C': 3, 'B': 3}
{'A': 3, 'C': 3, 'B': 4}
{'A': 4, 'C': 3, 'B': 5}
{'A': 5, 'C': 3, 'B': 6}
{'A': 6, 'C': 3, 'B': 7}
질문을 보는 또 다른 방법은, 어떻게 이러한 결과 사전을 병합 할 수 있습니다 이렇게 함께 A, B, C의 키는 여러 값으로 매핑되며,이 설정에서는 for 루프를 사용하여 값 목록을 생성합니다.
출력은 다음과 같아야합니다
{'A': [2, 3, 4, 5, 6], 'C': [3, 3, 3, 3, 3], 'B': [3, 4, 5, 6, 7]}
물론
왜 defaultdict를 사용하지 않으시겠습니까? – karthikr
필자는 핵심 파이썬 기능을 통해이를 수행하는 방법을 알고 싶었지만 너무 복잡하다면 defaultdict는 괜찮습니다. – Steve
다음과 같은 몇 가지 방법이 있습니다 : http://stackoverflow.com/questions/5946236/how-to-merge-multiple-dicts-with-same-key – karthikr