티스토리 뷰
튜플(tuple) : (읽기만 가능한)리스트
t = ( val1, val2, ... )
# vector in R = Python list
# 읽기만 가능한 리스트 (입력, 수정, 삭제 불가)
# 주로 수정하면 안 되는 데이터셋에 사용
참고글 : [Python] 리스트 (list)
# 튜플 생성
>>> t1 = (1,2,3)
>>> t1
(1, 2, 3)
>>> t1 = 1,2,3
>>> t1
(1, 2, 3)
>>> t1 = (10)
>>> t1
10
>>> type(t1)
<class 'int'> # 하나의 원소만 삽입 시 스칼라 원소로 적용
>>> t2 = (10,)
>>> t2
(10,)
>>> type(t2)
<class 'tuple'> # 하나의 원소를 튜플로 삽입 시 ,(콤마)와 함께 사용
# 튜플은 수정, 삽입, 삭제 불가
>>> t1 = (1,2,3)
>>> t1[0] = 10 # 튜블의 수정 불가능
TypeError: 'tuple' object does not support item assignment
>>> t1.append(4) # 퓨틀의 삽입 불가능
AttributeError: 'tuple' object has no attribute 'append'
>>> del(t1[0]) # 튜블의 원소 삭제 불가능
TypeError: 'tuple' object doesn't support item deletion
>>> del(t1) # 튜블 자체의 삭제는 가능
>>> t1
NameError: name 't1' is not defined
# 튜플의 색인(=리스트와 동일)
>>> t1 = (1,2,3)
>>> t1[1]
2
>>> t1[0:]
(1, 2, 3)
>>> t1[:3]
(1, 2, 3)
# 연산(=리스트와 동일하게 데이터의 확장)
>>> t1 ; t2
(1, 2, 3)
(10, 10, 10)
>>> t1 + t2 # 튜플간 연산 불가능
(1, 2, 3, 10, 10, 10)
>>> t1[0] + t2[0] # 튜플 원소간 연산은 가능
11
# 튜플을 수정하기위한 방법(리스트로 변환 후 수정)
>>> t1 = (1,2,3)
>>> t1 = list(t1)
>>> type(t1)
<class 'list'>
>>> t1 = tuple(l1)
>>> type(t1)
<class 'tuple'>
# 패킹과 언패킹
# 패킹
>>> t1 = 1,2,3 # 튜플 생성 시 (괄호)를 생략해도 자동적으로 packing
>>> t1
(1, 2, 3)
# 언패킹
>>> t1 = (1,2,3)
>>> first, second, third = t1 # 튜플의 원소들을 unpacking
>>> first
1
>>> second
2
>>> third
3
'Python > Process' 카테고리의 다른 글
[Python] 모듈(Module), 패키지(package) (0) | 2019.01.29 |
---|---|
[Python] 딕셔너리(Dictionary) (0) | 2019.01.28 |
[Python] 리스트 메서드 (list method) (0) | 2019.01.25 |
[Python] 리스트 (list) (0) | 2019.01.25 |
[Python] 반복문(for, where, 무한루프, break, continue, pass, next) (0) | 2019.01.25 |