2013-08-21 3 views
0

목록 및 튜플 목록이 있습니다. 나는 3 개의 "열"을 가진 목록의 목록에 그들을 압축하려고 노력하고있어. 나는이를 얻을파이썬 : 숫자의 튜플과 문자열 목록을 압축하십시오.

splitKeys=[['259', ' 46'], ['281', ' 71'], ['49', ' 13378']] 
data=(2.2217806892532197, 1.1757204348143286, 0.55) 
b=zip(splitKeys, data) 

:하지만 여기에 내가 가진 무엇을 내가 모두 map를 사용하여 몇 가지 방법을 시도했습니다

[('259', ' 46', 2.2217806892532197), ('281', ' 71', 1.1757204348143286), 
('49', '13378], 0.55)] 

:

[(['259', ' 46'], 2.2217806892532197), (['281', ' 71'], 1.1757204348143286), 
(['49', '13378'], 0.55)] 

내가 정말 원하는

lambda,하지만 여전히 위에서 언급 한 바람직하지 않은 출력을 받고있다.

생각하십니까?

답변

4

당신이 원하는 :

b = [(a, b, c) for (a, b), c in zip(splitKeys, data)] 
+0

좋은 생각이에요 – Stephan

+0

고마워요! 매력처럼 작동합니다. – Bryan

0

일시적 발전기 표현으로 압축하는 전에 목록을 풀 수 :

b = zip((k[0] for k in splitKeys), (k[1] for k in splitKeys), data) 

출력 :

b 
Out[4]: 
[('259', ' 46', 2.2217806892532197), 
('281', ' 71', 1.1757204348143286), 
('49', ' 13378', 0.55)] 
+0

이 고려 이것이 내가을 downvoted하지 않았을 작동 it ...에 관계없이 여분의 반복의'splitKeys'. 설명해 주시겠습니까? – Brian

관련 문제