📌튜플(tuple) 자료형에 대해 알아보자
Python에서 리스트(list)와 유사한 자료구조인 튜플(tuple)이 있다. 리스트와 같이 여러 데이터를 담을 수 있다는 것은 리스트와 유사하지만, 초기 생성된 데이터의 값이 변경되지 않는다는 점은 리스트와 대조되는 특징이다. 초기에 생성하고 값을 계속 참조하기 위한 데이터가 필요하다면 리스트 보단 튜플 사용이 권장된다.
📌튜플(tuple) vs 리스트(list)
비교하기 전에 두 자료구조는 인덱싱으로 각 요소에 접근할 수 있고, 슬라이싱으로 원하는 구간을 출력할 수 있다는 공통점이 있습니다. 비교해볼 내용은 선언과 성격입니다.
📌 대괄호 ‘[]’ 가 아닌 소괄호 ‘()’ 로 선언
🪓리스트(list)의 선언 방식 - 대괄호
list = [1, 2, 3, 4, 5]
print(list)
#[1, 2, 3, 4, 5]
🪓튜플(tuple)의 선언 방식 - 소괄호
tuple = (1, 2, 3, 4, 5)
print(tuple)
#(1, 2, 3, 4, 5)
🪓튜플(tuple)의 하나의 요소만 있다면?
tuple = (1)
print(tuple)
#한 개의 요소를 갖고 있는 튜플의 타입은 정수로 표현됨
tuple = (1,)
print(tuple)
#(1,)
#','를 사용하면 한 개의 요소도 튜플로 생성할 수 있음
🪓한 번 선언하면 값을 바꿀 수 없음(불변성)
리스트에서는 각 요소의 값을 수정할 수 있습니다. 이것을 가변(mutable)속성이라하는데, 튜플은 불가변(immutable)속성으로 요소의 값을 변경할 수 없습니다.
📌 튜플의 요소 변경 하려고 한다면?
tuple = (1, 2, 3, 4, 5)
print(tuple)
#(1, 2, 3, 4, 5)
#요소 삭제
del tuple[0]
#요소 변경
tubple[0] = 10
####################################################
#Traceback (most recent call last):
#File "<stdin>", line 1, in <module>
#TypeError: 'tuple' object doesn't support item deletion
####################################################
#Traceback (most recent call last):
#File "<stdin>", line 1, in <module>
#TypeError: 'tuple' object does not support item assignment
🪓한 번 지정된 요소를 바꿀 수 없는 튜플(tuple)의 특징으로 인해 변경, 삭제 시도 시 다음과 같은 에러가 발생한다.
📌 튜플 다루기 - 인덱싱
#인덱싱
tuple = (1, 2, 3, 4, 5)
print(tuple)
#(1, 2, 3, 4, 5)
print(tuple[0])
print(tuple[1])
#1
#2
📌 튜플 다루기 - 슬라이싱
#슬라이싱
tuple = (1, 2, 3, 4, 5)
print(tuple)
#(1, 2, 3, 4, 5
#[:] 앞뒤 끝까지.
print(tuple[:])
#(1, 2, 3, 4, 5
#[first index: ] 앞index 부터 요소 끝까지.
print(tuple[1:])
#(2, 3, 4, 5)
#[ : last index] 맨 앞부터 뒤index - 1까지 입니다.
print(tuple[:2])
#(1, 2)
📌 튜플 다루기 - 길이 구하기
#길이 구하기
tuple = (1, 2, 3, 4, 5)
print(tuple)
print(len(tuple))
#5
'Languages > Python' 카테고리의 다른 글
[Python]list 자료형과 메서드 알아보기(sort, size, append, remove, pop, 슬라이싱) (3) | 2023.08.20 |
---|---|
[Python]BeautifulSoup(bs4)를 사용하여 웹 스크래핑하기 (26) | 2023.08.10 |
[Python]문자열(String)에 대해 알아보자 (8) | 2023.03.26 |
[Python]다른 언어 구별되는 Python의 변수 선언 방식 (5) | 2023.03.25 |
[Python]파이썬이란 어떤 프로그래밍 언어일까? (6) | 2023.03.23 |