2017-03-11 5 views

답변

5

중첩 된 목록 내재는 약간 까다로울 수 있습니다. 목록에 세 개의 튜플이 추가되어야합니다. 그래서

[ (i,j,k) for i in range(x+1) for j in range(y+1) for k in range(z+1) if i+j+k != n] 

그렇다면 당신은 내가 N 동일없는 J + K를 +시 조건부로리스트로 그 APPEND 필요 (i, j, k)에 대한 이해의 첫 부분이되어야 의미한다. 종료 조건은 if 조건입니다. 그 사이에 다른 [ 또는 ]이 없어야합니다.

+0

감사합니다. –

+0

도움이 된 것을 기쁘게 생각합니다. – e4c5

8

@ e4c5는 리터럴 대체를 제공하지만 itertools을 사용하여 이해를 단순화 할 수 있습니다. 특히 itertools.product()은 중첩 된 for 루프와 동일한 기능을 제공합니다.

import itertools as it 
[a for a in it.product(range(x+1), range(y+1), range(z+1)) if sum(a) != n]