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 |