Python - 리스트 (Lists)

Language/Python 2016.08.09 00:04 posted by TechNote.kr


Python 의 리스트에 한마디로 정의하자면 다양한 변수들의 나열이라고 할 수 있다. 대괄호 "[", "]" 로 둘러 쌓여 있고, 콤마 "," 로 구분되어 진다. 


간단한 예를 들어보면 다음과 같다. 


list1 = ["1", "2", 3, 4]
list2 = [1, 2, 3, 4]


리스트로의 접근 및 수정


>>> a=["123", "234", 3, 4]
>>> a[0]
'123'
>>> a[:3]
['123', '234', 3]
>>> a[2:4]
[3, 4]

 여타 다른 자료형들과 크게 다르지 않다. 

>>> a=["123", "234", 3, 4]
>>> a[2]=5
>>> a
['123', '234', 5, 4]

 다른 점이 있다고 한다면 위와 같이 수정이 가능하다는 것이다. 


리스트 수정시 해당 리스트 자체의 id 값과 element의 id 값들은 다음과 같이 변경된다.

>>> a=["123", "234", 3, 4]
>>> id(a)
140273302116544
>>> id(a[0])
140273302258312
>>> id(a[1])
140273302258472
>>> id(a[2])
18026792
>>> id(a[3])
18026768

>>> a[2]=5
>>> id(a)
140273302116544
>>> id(a[2])
18026744
>>> id(a[3])
18026768

위과 같이 리스트의 element가 수정이 되어도 리스트 자체를 가리키고 있는 a 의 id값은 그대로 유지되고, 변경된 element의 id만 변경된다.



리스트 Element의 삭제



 수정이 가능한 것 뿐만 아니라 삭제도 가능하다.

>>> a=["123", "234", 3, 4]
>>> del a[0]
>>> a
['234', 3, 4]


리스트의 연산자 Operations


 리스트 사용시 "+" 와 "*" 를 사용하면 결합(concatenate)과 반복(iterate) 기능을 사용할 수 있다. 

>>> [1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
>>> [1] * 5
[1, 1, 1, 1, 1]

>>> [1, 2, 3, 4, 5] - [1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'list' and 'list'
>>> [1, 2, 3, 4, 5] / [1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'list' and 'list'

 혹시나 해서 "-"와 "/" 를 해보았는데 list에서는 해당 연산자 operation을 지원하지 않는다.

저작자 표시 비영리 변경 금지
신고