출처 - https://wikidocs.net/16040
출처 - https://m.blog.naver.com/wideeyed/221541104629
>>> a = [5,3]
>>> b = a * 3
>>> a
[5, 3]
>>> b
[5, 3, 5, 3, 5, 3]
그러나 리스트 반복에도 얕은 복사 문제가 발생한다.
>>> a = [[2,5]] * 3
>>> a
[[2, 5], [2, 5], [2, 5]]
>>> a[0].append(7)
>>> a
[[2, 5, 7], [2, 5, 7], [2, 5, 7]
append와 extend차이
# y가 list일 때
x=[1,2,3,4]
y=[5,6,7]
x.append(y)
>>>[1,2,3,4,[5,6,7]]
x.extend(y)
>>>[1,2,3,4,5,6,7]
# y가 string일 때
x=['abc','def','ghi']
y="jklm"
x.append(y)
>>>['abc','def','ghi','jklm']
x.extend(y)
>>>['abc','def','ghi','j','k','l','m']
list.append(x)는 리스트 끝에 x 1개를 그대로 넣는다.
list.extend(x)는 리스트 끝에 가장 바깥쪽 iterable의 모든 항목을 넣는다.