Python: 자료형 튜플 (tuple)

dev-swd·2020년 10월 25일
0

python

목록 보기
5/23
post-thumbnail

tuple : 튜플

  • 튜플은 () 를 이용한다.
  • 튜플은 튜플 안의 값을 변경할 수 없다.
  • 튜플의 선언은 다음과 같다
t1 = ()
t2 = (1,)
t3 = (1, 2, 3)
t4 = 1, 2, 3
t5 = (1, 2, ("a", "b"))
  • 튜플을 선언할 때 요소가 1개만 들어간다면 반드시 뒤에 콤마(,)를 붙여줘야 한다.
  • 튜플 안의 값을 바꿀 수 없기 때문에, 변하지 않아야 할 값을 넣는다.
  • 튜플도 리스트나 문자열과 같이 인덱싱, 슬라이싱, 더하기, 곱하기 연산이 가능하다.
  • 튜플 안의 값을 변경 혹은 삭제를 하려고 할 때는 에러가 발생한다.
name = "a"
id = "123"
pw = "a123"
print(name, id, pw) # a 123 a123

t1 = (name, id, pw)
print(t1) # ('a', '123', 'a123')

name = "b"

print(t1) # ('a', '123', 'a123') - 튜플 안의 내용은 변하지 않는다.
print(name) # b - 전역에 선언한 변수의 값은 바뀌어 있다.

# 기존 값 수정할 때 에러 발생
t1[0] = "b" # TypeError: 'tuple' object does not support item assignment

# 기존 값 삭제하려 할 때 에러 발생
del t1[0] # TypeError: 'tuple' object doesn't support item deletion

튜플은 언제 사용할까

일반적으로 2개에서 5개 사이의 요소들을 저장할 때 사용되며, 특정 데이터를 ad hoc(즉석)하게 표현하고 싶을 때 사용한다. 예를 들어, 좌표값을 표현할 때 튜플을 사용한다면 유용하다.
튜플은 주로 리스트와 같이 사용하여, 리스트의 요소들로 튜플을 채운다.
리스트도 똑같은 데이터를 만들 수 있지만, 튜플이 더 효과적이다.

  • List 는 수정 가능, 여러 수의 요소들을 저장할 수 있기 때문에 tuple 보다 메모리 용량을 많이 차지한다.
  • Tuple 은 제한적인 만큼 용량이 더 적다. 그래서 수정이 필요없고 간단한 형태의 데이터를 사용할 때는 tuple을 사용한 것이 훨씬 효과적이다.

튜플 조작하기

index(x)

  • 튜플에서 특정 값의 인덱스를 구한다.
  • 이 때 값이 여러 개일 경우 처음 찾은 인덱스를 구한다.

count(x)

  • 튜플에서 특정 값의 개수를 구한다.

tuple(식 for 변수 in 리스트 if 조건식)

  • 튜플 표현식
  • () 안에 표현식을 넣으면 제너레이터 표현식이 된다.
profile
개발을 취미로 할 수 있는 그 때 까지

0개의 댓글