2014-05-20 2 views
-1

단순히 기술을 생각하면리스트를 2d 목록으로 변환하고 있습니다. itertools 또는 collections?어떻게 목록을 2d로 변환 할 수 있습니까? itertools 또는 높은 성능의 컬렉션을 사용하여 이것을 나열 할 수 있습니까?

n = 2 
lst = ['a', 'b', 'c', 2, 'e'] 
for i in range(0, len(lst), n): 
    print lst[i:i+n] 

예상 출력 :

[['a', 'b'], ['c', 2], ['e']] 
+0

를 사용하십니까? –

+0

더 효율적인 생성기로'xrange'를 사용하십시오. –

+0

출력으로 기대되는 것은 무엇입니까? – IanAuld

답변

1
>>> thing = [lst[i:i+n] for i in range(0,len(lst),n)] 
>>> thing 
[['a', 'b'], ['c', 2], ['e']] 

지능형리스트 당신은 매 2 개 값의 하위 목록을 생성하고 싶었 의미