2014-07-26 5 views
0

두 1D 목록에서 2D 목록을 만들려면 : Fastet 방법은 내가 두 개의 목록이 파이썬

name = ['A', 'B', 'C'] 
sex = ['M', 'F', 'M'] 

무엇이 두 가지에서 다음과 같은 목록을 만들 수있는 좋은 성능을 가진 가장 좋은 방법입니다 :

comb = [['A', 'M'], ['B', 'F'], ['C', 'M']] 
+1

'zip()'합니다. – Blender

답변

4

사용 zip : 당신이 항목을 나열하고 싶다면

>>> name = ['A', 'B', 'C'] 
>>> sex = ['M', 'F', 'M'] 
>>> zip(name, sex) 
[('A', 'M'), ('B', 'F'), ('C', 'M')] 

, 당신은 map을 사용할 수 있습니다 오

>>> map(list, zip(name, sex)) 
[['A', 'M'], ['B', 'F'], ['C', 'M']] 
>>> [list(x) for x in zip(name, sex)] 
[['A', 'M'], ['B', 'F'], ['C', 'M']] 

참고 : r에 지능형리스트로 변환하는 파이썬 3.x를, zip를 사용하는 경우, 목록 대신 반복자를 반환 map. 목록을 얻으려면 반환 된 값을 list function으로 전달하십시오.

list(zip(name, sex)) 
관련 문제