튜플은 리스트와 유사하나,
아이템을 추가, 변경, 삭제할 수 없다.
numbers = (10, 20, 30, 40, 50) # 선언 시 괄호 생략 가능
print(numbers) # (10, 20, 30, 40, 50)
print(type(numbers)) # <class 'tuple'>
print(numbers[0]) # 10
print(numbers[3]) # 40
# 반복문, len()을 이용하여 튜플의 아이템 조회
numbers = (10, 20, 30)
for i in range(len(numbers)):
print(f'{i}: {numbers[i]}')
>>>
0: 10
1: 20
2: 30
# 간단하게
for number in numbers:
print(number)
>>>
10
20
30
튜플은 슬라이싱을 이용해서 아이템을 변경할 수 없다.(리스트는 가능)
numbers = (10, 20, 30, 40, 50)
print(numbers[1:3]) # (20, 30)
print(numbers[:3]) # (10, 20, 30)
print(numbers[1:]) # (20, 30, 40, 50)
print(numbers[2:-2]) # (30,)
print(numbers[-4:-2]) # (20, 30)
print(numbers[::2]) # (10, 30, 50)
print(numbers[0:3:2]) # (10, 30)
# slice()
print(numbers[slice(1, 3)]) # (20, 30)
리스트에 튜플로 아이템을 변경하는 건 가능하다.
tuple1 = (777, 777)
list1 = [10, 20, 30, 40, 50]
list1[2:4] = tuple1
print(list1)
>>>
[10, 20, 777, 777, 50]
numbers = 10, 20, 30
for num in numbers:
print(num)
>>>
10
20
30
studentCnts = ((1, 19), (2, 20), (3, 33), (4, 18), (5, 21))
for classNo, cnt in studentCnts:
print(f'{classNo}반 학생 수: {cnt}명')
>>>
1반 학생 수: 19명
2반 학생 수: 20명
3반 학생 수: 33명
4반 학생 수: 18명
5반 학생 수: 21명
numbers1 = (10, 20, 30)
numbers2 = (40, 50, 60)
numbers1 += numbers2
print(numbers1)
>>>
(10, 20, 30, 40, 50, 60)
myNum = (1, 3, 5, 6, 7)
friendNum = (2, 3, 5, 8, 10)
ourNum = myNum
for num in friendNum:
if num not in ourNum:
ourNum += (num, ) # 튜플 + 튜플만 가능
print(ourNum)
>>>
(1, 3, 5, 6, 7, 2, 8, 10)
# sort()
numbers = (20, 40, 30, 10, 50)
numbers = list(numbers)
numbers.sort()
numbers = tuple(numbers)
print(numbers, type(numbers))
>>>
(10, 20, 30, 40, 50) <class 'tuple'>
원본은 그대로 유지되며, 리스트 자료형을 반환한다.
numbers = (20, 40, 30, 10, 50)
numbersCopy = sorted(numbers)
print(numbers, type(numbers))
print(numbersCopy, type(numbersCopy))
>>>
(20, 40, 30, 10, 50) <class 'tuple'>
[10, 20, 30, 40, 50] <class 'list'>
numbers = (10, 20, 30, 40, 50)
num = 60
if num in numbers:
print(f'{num}: numbers에 있습니다.')
else:
print(f'{num}: numbers에 없습니다.')
>>>
60: numbers에 없습니다.
text = '안녕하세요. 반갑습니다. Hello. 2023년'
print('안녕' in text)
print('hello' in text)
print('2023' in text)
print('.' in text)
print(' ' in text)
>>>
True
False
True
True
True
🚗 오늘은 튜플에 대해 배웠다.
리스트와 어떤 차이가 있는지 잘 알아둬야겠다.
금요일에 팀 회의가 있을 예정이라 데이터 엔지니어, 데이터 분석가, 데이터 사이언티스트의 차이점에 대해서도 공부할 생각이다.
🚕 내일은 3번째 자료구조 딕셔너리에 대해 학습하고, 연습 문제를 풀어볼 것이다. 벌써 목요일이라니... 데이터 스쿨 과정에 참여하니 시간이 더 빠르게 간다.