파이썬 - 튜플: 초보자를 위한 가이드
안녕하세요, 미래의 파이썬 열정家 여러분! 오늘, 우리는 파이썬 튜플의 세계로 흥미진진한 여정을 떠날 거예요. 아직 프로그래밍을 해보지 않았다고 해도 걱정 마세요 – 저는 여러분과 함께, 모든 것을 단계별로 설명해 드릴 거예요. 그럼, 커피 한 잔을 마셔요 (아니면 여러분이 좋아하는 차라도 좋죠), 그리고 몸을 던져요!
튜플이란 무엇인가요?
시작하기 전에 튜플이란 무엇인지 이해해 봅시다. 튜플을 마치 다양한 초콜릿이 들려 있는 상자 같은 컨테이너라고 생각해 보세요. 트위스트는? 초콜릿(또는 데이터)을 이 상자에 채운 후, 그것들을 변경할 수 없게 됩니다!
여기서 튜플을 생성하는 방법입니다:
my_first_tuple = (1, 2, 3, 'hello', 'world')
print(my_first_tuple)
이 코드를 실행하면 다음과 같이 보일 거예요:
(1, 2, 3, 'hello', 'world')
이렇게 쉽지 않은가요? 우리는 첫 번째 튜플을 만들었어요!
튜플에서 값 접근
이제 튜플을 가지고 있으니, 튜플 내부의 항목들에 접근하는 방법을 배워봅시다. 이를 위해 "인덱스"라는 것을 사용합니다. 인덱스는 튜플에서 항목의 위치 번호라고 생각하죠, 0부터 시작해요.
my_tuple = ('apple', 'banana', 'cherry', 'date')
print(my_tuple[0]) # 이는 'apple'를 인쇄합니다
print(my_tuple[2]) # 이는 'cherry'를 인쇄합니다
출력:
apple
cherry
기억해요, 파이썬(그리고 많은 다른 프로그래밍 언어들)에서는 0부터 시작해요, 1이 아니라요. 마치 "0"이 "준비되었나, 안되었나, 여기와!"라고 외치는 이상한 숨바꼭질 게임 같아요!
튜플 업데이트
제가 튜플은 채운 후 변경할 수 없는 초콜릿 상자 같다고 했었죠? 잘못된 말이 아니예요! 튜플은 불변형이라는 말이죠, 즉 생성 후 내용을 변경할 수 없어요.
my_tuple = ('apple', 'banana', 'cherry')
my_tuple[0] = 'pear' # 이는 에러를 일으킬 거예요!
이 코드를 실행하려고 하면 파이썬은 여러분이 변경할 수 없는 것을 변경하려고 하기 때문에 에러를 일으킬 거예요.
하지만 기다려요! 해결책이 있어요. 튜플을 리스트로 변환한 후, 변경을 하고 다시 튜플로 변환할 수 있어요:
my_tuple = ('apple', 'banana', 'cherry')
my_list = list(my_tuple)
my_list[0] = 'pear'
my_new_tuple = tuple(my_list)
print(my_new_tuple)
출력:
('pear', 'banana', 'cherry')
마치 마술 같아요, 않나요? 우리는 여러분이 원하는 변경을 통해 새로운 튜플을 만들었어요.
튜플 요소 삭제
개별 요소를 업데이트할 수 없듯이, 개별 요소를 튜플에서 삭제할 수도 없어요. 하지만, 전체 튜플을 삭제할 수 있어요:
my_tuple = ('apple', 'banana', 'cherry')
del my_tuple
print(my_tuple) # my_tuple이 더 이상 존재하지 않기 때문에 에러를 일으킬 거예요
이는 마치 여러분이 좋아하지 않는 초콜릿을 꺼내기보다는 전체 상자를 버리는 것 같아요!
파이썬 튜플 연산
튜플은 여러 연산을 지원해요. 몇 가지를 살펴보죠:
연결
'+' 연산자를 사용하여 두 튜플을 함께 붙일 수 있어요:
tuple1 = (1, 2, 3)
tuple2 = ('a', 'b', 'c')
tuple3 = tuple1 + tuple2
print(tuple3)
출력:
(1, 2, 3, 'a', 'b', 'c')
반복
'*' 연산자를 사용하여 튜플을 반복할 수 있어요:
my_tuple = ('Python',) * 3
print(my_tuple)
출력:
('Python', 'Python', 'Python')
멤버십
'이' 키워드를 사용하여 튜플에 특정 항목이 존재하는지 확인할 수 있어요:
my_tuple = ('apple', 'banana', 'cherry')
print('banana' in my_tuple)
print('grape' in my_tuple)
출력:
True
False
인덱싱, 슬라이싱 및 매트릭스
튜플은 리스트와 마찬가지로 인덱싱과 슬라이싱을 지원해요. 몇 가지 예제를 살펴보죠:
my_tuple = ('p', 'y', 't', 'h', 'o', 'n')
print(my_tuple[1:4]) # 슬라이싱
print(my_tuple[::-1]) # 튜플 뒤집기
출력:
('y', 't', 'h')
('n', 'o', 'h', 't', 'y', 'p')
닫힌 구분자 없음
재미있는 사실 하나: 파이썬에서는 괄호 없이도 튜플을 만들 수 있어요! 이를 "튜플 패킹"이라고 부릅니다:
my_tuple = 1, 2, 3, 'hello'
print(my_tuple)
print(type(my_tuple))
출력:
(1, 2, 3, 'hello')
<class 'tuple'>
괄호가 없어도 파이썬은 이를 튜플로 인식해요!
내장 함수와 튜플
파이썬은 튜플과 함께 사용할 수 있는 여러 내장 함수를 제공해요. 몇 가지를 살펴보죠:
함수 | 설명 | 예제 |
---|---|---|
len() | 튜플의 길이를 반환합니다 | len((1, 2, 3))는 3을 반환합니다 |
max() | 튜플에서 가장 큰 항목을 반환합니다 | max((1, 5, 3))는 5를 반환합니다 |
min() | 튜플에서 가장 작은 항목을 반환합니다 | min((1, 5, 3))는 1을 반환합니다 |
sum() | 튜플의 모든 숫자를 더한 값을 반환합니다 | sum((1, 2, 3))는 6을 반환합니다 |
sorted() | 튜플에서 새로운 정렬된 리스트를 반환합니다 | sorted((3, 1, 2))는 [1, 2, 3]을 반환합니다 |
이 함수들을 사용한 예제를 살펴보죠:
my_tuple = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
print("Length:", len(my_tuple))
print("Maximum:", max(my_tuple))
print("Minimum:", min(my_tuple))
print("Sum:", sum(my_tuple))
print("Sorted:", sorted(my_tuple))
출력:
Length: 11
Maximum: 9
Minimum: 1
Sum: 44
Sorted: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
그리고 그렇게 끝! 여러분은 파이썬 튜플에 대한 빠른 강좌를 마친 거예요. 기억해요, 연습이 실력을 만든다고 해요. 이 개념들을 실험해 보지 마세요.谁知道? 여러분은 튜플을 사용하여 파이썬 마스터가 될 수도 있답니다! 코딩 잘 하세요!
Credits: Image by storyset