티스토리 뷰

Python/Process

[Python] 튜플(tuple)

Aaron 2019. 1. 28. 17:34
반응형

튜플(tuple)  : (읽기만 가능한)리스트



t = ( val1, val2, ... )

vector in R = 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




반응형
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday