나는 키/값 쌍을 보유하고 파이썬 목록을 가지고 :키당 여러 값으로 사전 변환 목록에 표시 하시겠습니까?
l=[ [1, 'A'], [1, 'B'], [2, 'C'] ]
내가 키에 여러 값이 튜플로 집계 될 사전으로 목록을 변환 할 :
{ 1:('A', 'B'), 2:('C',) }
반복적 인 해결책은 간단하다 :
l=[ [1, 'A'], [1, 'B'], [2, 'C'] ]
d={}
for pair in l:
if d.has_key(pair[0]):
d[pair[0]]=d[pair[0]]+tuple(pair[1])
else:
d[pair[0]]=tuple(pair[1])
print d
{1: ('A', 'B'), 2: ('C',)}
이 작업에 대한 더 우아한, 파이썬 솔루션이 있습니까?
S/multilpe/여러 – vstrien
'has_key'가의 쓰레기통에 그것의 방법에 파이썬 역사 - 사전에 키의 존재를 테스트해야한다면, 새로운 구문 인'if key in dict :'를 사용하십시오. 그러나 당신의 질문에 대한 "A"대답은 @ eumiro의 기본 접근 방식입니다. – PaulMcG
@vstrien 감사합니다. '/ g'을 추가하면 좀 더 일반화 될 것입니다 :-) –