본문 바로가기
개발이야기/python

list for문

by 효우너 2020. 8. 21.
728x90
반응형

python으로 알고리즘 문제를 풀면서 헤맸던 부분이 있다. list-a로 구현해놓고 for-b처럼 구현되길 바랬던 것이다.

혹시나 해서 b처럼 바꿔보니 혹시나가 역시나가 되는 그런 상황이었다,,

a는 아예 똑같은 반복인 것 같다.a를 더 편하게 생각해왔지만 둘은 확실하게 다르다.

a=[[0]*5]*6
print(a) #[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

b=[[0]*5 for _ in range(6)]
print(b) #[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
for i in range(len(a)):
    a[i][0]+=i
print(a)
#[[15, 0, 0, 0, 0], [15, 0, 0, 0, 0], [15, 0, 0, 0, 0], [15, 0, 0, 0, 0], [15, 0, 0, 0, 0], [15, 0, 0, 0, 0]]


for i in range(len(b)):
    b[i][0]+=i
print(b)
#[[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [2, 0, 0, 0, 0], [3, 0, 0, 0, 0], [4, 0, 0, 0, 0], [5, 0, 0, 0, 0]]
728x90
반응형

'개발이야기 > python' 카테고리의 다른 글

list 덧셈  (0) 2020.08.21
itemgetter 사용하기  (0) 2020.05.31
피보나치 함수 구현 방법  (0) 2020.05.30
ascii 변환  (0) 2020.05.17
range 사용하기  (0) 2020.05.06

댓글