본문 바로가기
인공지능/파이썬 기초

컬렉션 타입 튜플

by hyunji00pj 2024. 9. 26.

KDT_4기 파이썬 기초 0924(1)

2024.09.24 수업 내용 복습일기 첫번째

 

저번 시간에 컬렉션 타입 리스트에 이어 이번에는 컬렉션 타입 튜플에 대해서 알아보도록 하자

 

 

1. 튜플

여러 가지 데이터 타입의 값을 저장할 수 있는, 변경 불가능(immutable)한 순서가 있는 컬렉션입니다.

 

  • 튜플은 리스트와 달리 요소의 값을 변경하거나 추가할 수 없다. 
  • 튜플은 읽기 전용 자료형이다.

 

생성

튜플은 괄호 () 사용하여 생성하고, 항목들은 쉼표 , 구분됩니다.

tu1 = ()
print(tu1)
print(type(tu1))

튜플은 하나의 항목은 저장 불가능 하기 때문에 아래처럼 한개의 항목만 있다면 , 뒤에 붙여주어야 오류가 나지 않는다

tu1 = (1,)#요소가 한개일 경우 끝에 ,를 꼭! 붙여야함
print(tu1)
print(type(tu1))

 

 

 

tu2 = (1,3,5,7)
print(tu2)
print(type(tu2))

튜플에 리스트를 넣는 것이 가능하다

하지만 리스트에 튜플을 넣으면 결국 리스트가 된다.

tu3 = ([1,3,5,7])
print(tu3)
print(type(tu3))

li3 = list(tu3)
print(li3)
print(type(li3))

tu4 = 1,3,5,7
print(tu4)
print(type(tu4))

num1 = 10
num2 = 20
num3 = 30
tu4 = num1,num2,num3
print(tu4)

result1,result2,result3 = tu4
print(result1)
print(result2)
print(result3)

인덱싱

튜플의  항목은 위치(인덱스) 가지고 있으며, 인덱스를 사용하여 접근할  있습니다. 인덱스는 0부터 시작합니다.

tu5 = ('apple','banana',('🍎','🍌'))
print(tu5)
print(type(tu5))
print(tu5[0])
print(type(tu5[0]))
print(tu5[2][0])
print(type(tu5[2][0]))

아래에서 tu5에 저장된 'orange' 는 변수에 문자열을 저장한것이다

tu5 = ('apple','banana',('🍎','🍌'))
tu5 = 'orange'#그냥 변수에 문자열 저장한것이기 때문에 됨
#tu5[0] = 'orange'TypeError: 'str' object does not support item assignment
print(tu5)

인덱싱으로 튜플 안의 값 변경도 가능하다

tu5 = ('apple','banana',['🍎','🍌'])
print(tu5)
print(tu5[2][0])
tu5[2][0] = '🍗'
print(tu5)
print(type(tu5[2]))

#tu5[2] = '🍙'TypeError: 'tuple' object does not support item assignment

 

슬라이싱

튜플의 일부분만을 추출할  있습니다.

tu6 = (1,2,'apple','banana')
print(tu6[0])
print(tu6[-1])

print(tu6[1:])
print(tu6[1:3])

연산

튜플 간의 + 연산으로 리스트를 결합할  있고, * 연산으로 리스트를 반복할  있습니다.

tu7 = (10,20,30)
tu8 = (40,50,60)

print(tu7+tu8)
print(tu8+tu7)

tu7 = tu7 + (40,50,60)
print(tu7)

print(tu7*3)

멤버십 테스트

in 연산자를 사용하여 튜플에 특정 값이 있는지 확인할  있습니다. (리스트도 가능)

#컬렉션에 포함되어 있는 요소인지 확인
print(2 in [2,4,6,8,10])
print(2 in (2,4,6,8,10))
print(7 in [2,4,6,8,10])

튜플의 정렬

튜플은 변경 불가능(immutable)한 순서가 있는 컬렉션이기 때문에 항목자체 순서를 바꿔 반환하는  sort() 메서드를 제공하지 않습니다. sorted() 함수를 사용합니다.

tu9 = (10,30,100,90,50)
#tu9.sort() AttributeError: 'tuple' object has no attribute 'sort' 튜플은 sort 메소드 존재하지 않음

result = sorted(tu9)
print(result)

result = tuple(result)
print(result)

result = sorted(tu9,reverse=True)
print(result)

 

 

 

'인공지능 > 파이썬 기초' 카테고리의 다른 글

파이썬 컬렉션 타입 - 세트  (0) 2024.09.26
input 함수  (2) 2024.09.26
컬렉션 타입- 리스트  (0) 2024.09.26
문자열 다루기  (0) 2024.09.25
파이썬의 변수  (2) 2024.09.24