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 |
댓글