물론이 질문은 인기있는 것 같지만 실제로 찾을 수는 없습니다 (아마도 올바른 검색어를 사용하지 않았을 것입니다.). 어쨌든, 나는 이런 종류의 뭔가가 필요합니다 키의 값이 DICT 이미 때마다사전에 같은 값으로 여러 키를 매핑하는 방법이 필요합니다.
tel = {}
tel['1 12'] = 1729
tel['9 10'] = 1729
tel['1 2'] = 9
tel['2 1'] = 9
tel['1 1'] = 2
print(tel)
{['1 1'] : 2, ['1 2', '2 1'] : 9, ['1 12', '9 10'] : 1729}
그래서, 그 값에 키 매핑 목록에 키를 추가를; 그렇지 않으면, dict에 키 값 쌍을 추가하십시오.
편집 나는 당신의 많은 혼동하면 미안하고, 다음은 훨씬 더 :)
이는 내가 해결하고 싶은 원래 문제가 당신에게 혼란 만약 내가 정말 미안 해요 : 감안할 때 방정식 a^3 + b^3은 a, b에 대한 모든 양의 정수 쌍 값을 평가할 때 방정식 값에 1000 미만으로 매핑하는 사전을 생성합니다. 두 쌍이 동일한 값으로 평가 될 때 두 쌍이 사전 및이 같은 값을 공유하도록하려면 을 어떻게 든 함께 그룹화하십시오. (나는 이미 서로 다른 키를 하나의 dict에 동일한 값으로 매핑 할 수 있다는 것을 알고 있지만이 그룹이 필요하다.) 일부 정수 쌍에 대한
for a in range(1, 1000):
for b in range(1, 1000):
map pair (a, b) to a^3 + b^3
(A, B) 및 (P, Q) 어디 = P 및 B = Q, A :!
은 그래서 내 의사 코드의 샘플로 제공 될 것이다^3 + b^3 == p^3 + q^3. 나는이 짝을 어떤 식 으로든 그룹화하기를 원합니다. 예를 들어, [(1,12), (9, 10)]은 1729로 매핑됩니다. 이것이 제가 원하는 것을 더 분명하게 해주기를 바랍니다.
EDIT2 많은 사람들이 지적했듯이 빠른 조회 시간을 의미 할 경우 키 값 쌍을 전환해야합니다. 이는 key : value 쌍의 값이 튜플 일 필요가 있음을 의미합니다.
는
왜 값 키와 키 값이 아닌, 값도 매핑 할 수 있습니다 – depperm
@depperm을 감지하는 것 같다 사전에서 같은 값으로 그렇다면 정상적인 dict의 문제점을 설명해 주시겠습니까? 특정 값을 가리키는 키 목록에 대한 조회 액세스가 필요합니까? – wim
여러 키를 이미 해쉬하지 않을 수 있습니다 더 많은 수 있도록 주어진 아니에요 그런 식으로 – wim