row=5
col=5
[[x]*col for x in [b for b in range(row)]]
위의 내용은 5x5 2D 배열입니다.
[[0, 0, 0, 0, 0],
[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3],
[4, 4, 4, 4, 4]]
중첩 된 목록 이해를 사용하고 있습니다. 아래와 같이 고장 :
[[x]*col for x in [b for b in range(row)]]
[x] * col-> x in->
x에 대해 평가되는 최종 표현식 은 반복자에 의해 제공되는 값입니다
[범위 (행)에서 b의 경우 b]]-> 반복자.
[범위 (행)의 b에 대한 b]]]는 row = 5
이므로 [0,1,2,3,4]로 평가 되므로 이제는
[[x]*col for x in [0,1,2,3,4]]
이것은 [0,1,2,3,4]에서 x에 대해 [[0] * 5로 평가됨]-> x = 0으로 첫 번째 반복
[[1] * 5에 대해 [0,1,2에서 x에 대해] 3,4]]-> x = 1 인 2 번째 반복
[[1,2,3,4]]에서 x의 x에 대한 [[2] * 5]-> x = 2 인 3 번째 반복
[[3] * 5 x의 경우 [0,1,2,3,4]의 x에 대해 x = 3 일 때 4 번 반복
[[4] * 5의 경우 [0,1,2,3,4]의 x에 대해-> x의 경우 = 4 5 번째 반복