이 중첩 루프는 리스트 [0, 0, 0, 0, 1, 2, 0, 2, 4]를 만들며, 다음 리스트-함축 문장과 똑같이 동작한다.
mult_list = [i * j for i in range(3) for j in range(3)]
이 코드는 i * j가 각 루프를 순회하며 값을 생산하고, 나머지 코드가 중첩 루프 표현식을 담고 있다.
리스트 함축은 선택 사항으로 추가할 수 있는 기능이 있다. 문법적으로 다음과 같이 대괄호 기호가 끝나기 전에 위치하는 표현식(if_조건문)이다.
[ 값 for_문_표현식 if_조건문 ]
간단한 예를 들어 보자. 리스트 항목 중 양수만 선택하고 싶다고 가정해 보자. 만약 리스트 함축 없이 코드를 작성하면 다음과 같을 것이다.
my_list = [10, -10, -1, 12, -500, 13, 15, -3]
new_list = []
for i in my_list:
if i > 0:
new_list.append(i)