리스트

참고 : 널널한 교수의 코딩 클래스


1. C의 배열 vs Python의 리스트

Python의 리스트

  • elements are references
  • 리스트의 요소가 100,200,300을 참조하는 구조

figure2


>>> a = [1,2,3]

>>> print(id(a))
1719467345024

>>> print(id(a[0]),id(a[1]),id(a[2]))
140736179681056 140736179681088 140736179681120

>>> print(id(1),id(2),id(3))
140736179681056 140736179681088 140736179681120


2. 리스트 요소 재할당

>>> a[0]=2
>>> print(id(a[0]),id(a[1]),id(a[2]))
140736179681088 140736179681088 140736179681120


3.리스트에 요소 추가

(1) append

figure2


동일하다

>>> a=[1,2,3,4]
1719467373632
>>> a.append(5)
>>> id(a)
1719467373632


(2) + [원소]

figure2


달라진다

>>> a=[1,2,3,4]
>>> id(a)
1719467308736
>>> a=a+[5]
>>> id(a)
1719467343616