2013-10-10 4 views
2

이 목록 이해가 어떻게 작동하는지 알아 내려고하고 있지만 어떻게 작동하는지 이해할 수는 없습니다. 누군가가 비표준 이해력을 쓸 수 있다면 이해할 수 있다고 생각합니다. 그것은 목적을 언급 한 것Python 목록 이해가 혼란 스러운가

[item for sublist in li for item in sublist] 

다차원 목록을 반음 내린 것입니다 :

이것은 내가에 붙어있어 라인입니다. 여기 테스트 나의 예

>>> li = [[0,1],[1,3,5],[4,5,3,2]] 
>>> [item for sublist in li for item in sublist] 
[0, 1, 1, 3, 5, 4, 5, 3, 2] 

답변

7

비 지능형리스트에 해당 : for

result = [] 

for sublist in li: 
    for item in sublist: 
     result.append(item) 

그래서, 순서 :

arr = [] 
for sublist in li: 
    for item in sublist: 
     arr.append(item) 
+1

두 개는 의미 상 동일하지만 목록 작성은 일반적으로 더 잘 수행됩니다. – roippi

2

루프 버전에 해당하는 등가의 모습 목록 이해력의 문장은 중첩 된 for 문에 나타나는 순서와 동일합니다.

관련 문제