튜플
- 리스트와 상당히 유사하지만 불변이다. 한번 정의되면 바꿀 수 없다.
- 튜플에 있는 인덱스는 특정한 값을 추출하기 위해 사용하는 것이지 할당이나 수정을 위한 것이 아니다.
- 튜플은 보통 서로 다른 원소들을 포함한다는 점에서, 연관성 있는 방식으로 원소를 저장하는 리스트에 비해 상당히 다르다.
- 예를 들어, 튜플의 일반적인 용례는 함수, 메소드 등에 매개변수를 전달하는 것이다.
- 튜플은 순서형에 속하기 때문에, 모든 순서형의 연산에 쓸 수 있는 몇몇 동일한 메소드를 사용할 수 있다.
튜플의 정의
x = ()
y = (item,)
z = item,
튜플의 예
>>> # 빈 튜플 생성
>>> my_tuple = ()
>>> # 튜플 생성하고 사용하기
>>> my_tuple2 = (1, 'two',3, 'four')
>>> my_tuple2
(1, 'two', 3, 'four')
>>> # 마지막에 쉼표를 써서 한 항목짜리 튜플을 생성하기
>>> my_team = 'Bears',
>>> my_team
('Bears',)
튜플의 특징
튜플은 함수, 메소드, 클래스 등에 전달하기에 상당히 유용하다.
때때로 다중 값을 전달하는 데는 불변 개체를 갖는 것이 훌륭하다.
불변이기 때문에, 한번 정의되면 크기가 증가하지 않으며, 튜플은 메모리 할당이 관심사인 곳에서 중요한 역할을 수행할 수 있다.
특이하게 괄호 생략되어도 가능
>>> money = 100, 200, 300, 400
>>> person = "sonic", "bonggu", "dante", "yanggun"
>>> print(money)
(100, 200, 300, 400)
>>> print(person)
('sonic', 'bonggu', 'dante', 'yanggun')
>>>
튜플을 변수에 담기
색인으로 가능
>>> print(money[0])
100
>>> print(money[1])
200
>>> print(money[2])
300
>>> print(money[0:2])
(100, 200)
>>> print(money[0:3])
(100, 200, 300)
변수로 가능
>>> a, b, c, d = money
>>> print(a, b, c, d)
100 200 300 400
>>> x, y, z = money
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>>
리스트에 비해 장점
새로운 항목을 추가하는 연산 속도를 빠르게 하기 위해리스트는 메모리를 추가로 할당.
튜플은 변경이 불가능하기 때문에 추가 공간없이 저장된다.
Comments:
새로운 항목을 추가하는 연산 속도를 빠르게 하기 위해 리스트는 메모리를 추가로 할당.
튜플은 변경이 불가능하기 때문에 추가 공간없이 저장된다.