Python

[Python] 튜플(vs 리스트)

주댕이 2024. 1. 9. 17:31

# 튜플

  • 리스트와 유사하게 데이터 여러 개를 하나로 묶는 데 이용한다.
  • 튜플의 항목은 숫자, 문자열, 불, 리스트, 튜플, 세트, 딕셔너리 등으로 만들 수 있다.
  • 튜플의 속성은 리스트와 유사하나, 한 번 입력(또는 생성)하면 그 이후에는 항목을 변경할 수 없다.
  • 소괄호(())를 사용하거나 괄호를 사용하지 않고 데이터를 입력한다.
  • 항목은 리스트와 마찬가지로 콤마(,)로 구분한다.
# 소괄호를 사용하여 튜플 생성하기
tuple1 = (1, 2, 3, 4)
tuple1  # (1, 2, 3, 4)
type(tuple1)  # tuple

# 소괄호를 사용하지 않고 튜플 생성하기
tuple2 = 5, 6, 7, 8
print(tuple2)  # (5, 6, 7, 8)
type(tuple2)  # tuple

# 인자가 하나만 있는 튜플 생성하기
tuple3 = (9,)  # 반드시 콤마(,)가 필요함
tuple4 = 10,  # 반드시 콤마(,)가 필요함
print(tuple3)  # (9,)
print(tuple4)  # (10,)

 

 

# 리스트와 유사한 점

  • 인덱싱과 슬라이싱
tuple_data = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

print(tuple_data)  # (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
print(tuple_data[0:3])  # (0, 1, 2)
print(tuple_data[3:6])  # (3, 4, 5)
print(tuple_data[:6])  # (0, 1, 2, 3, 4, 5)
print(tuple_data[4:])  # (4, 5, 6, 7, 8, 9)
print(tuple_data[:])  # (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

 

 

# 리스트와의 차이점

  • 리스트는 수정, 삭제가 가능하지만, 튜플은 수정, 삭제가 불가능하다.
l_data = [0, 1, 2, 3]
t_data = (0, 1, 2, 3)

# 숫자 3 대신 30
l_data[3] = 30  # [0, 1, 2, 3]
t_data[3] = 30  # TypeError: 'tuple' object does not support item assignment

# 숫자 3 삭제
del l_data[3]
l_data  # [0, 1, 2]
del t_data[3]
t_data  # TypeError: 'tuple' object doesn't support item deletion
728x90

'Python' 카테고리의 다른 글

[Python] 리스트 함수  (0) 2024.01.10
[Python] 문자열 함수  (2) 2024.01.10
[Python] 리스트  (0) 2024.01.09
[Pandas] 데이터 통합하기  (2) 2024.01.08
[Python] 문자열  (2) 2024.01.03