2012-03-29 6 views
3

나는 다음과 같이 정의 파이썬에서 목록의 반복을 내가 아닌 요소들.파이썬 목록 반복

이 코드는 정확히 예상대로 작동하지만 더 깨끗한 방법이 있습니까?

+0

당신은 범위를 (사용할 수 있습니다) 만 한 번 첫 번째 수준의 최적화로 두 번 루프 전에 – DhruvPathak

+0

효율성의 관점에서, 이것은 완벽하게 처리 할 수 ​​있습니다. 단단한 루프에서 호출하거나 크게 '5'로 증가시키지 않으면 걱정하지 않을 것입니다. 읽기 쉬운 관점에서 볼 때 이것은 완벽하게 읽을 수 있습니다. – MattH

답변

10

사용 itertools.permutations :

import itertools as it 
for i, j in it.permutations(range(5), 2): 
    print i, j 
+1

그러나 OP의 코드는 독자가 itertools를 알지 않아도 이해하기 쉽습니다. itertools는 더 많은 차원으로 확장하거나 두 번 이상 필요로 할 때 빛난다. –

2

[(x, y)의 범위에서 X (5) 범위에서 Y (5) X = Y 경우!]

+1

답변에 더 많은 정보를 입력하십시오. 후손에 대한 배경이나 설명을하는 것이 좋습니다. – Gray