공부/AI

파이썬 컨테이너 Container 튜플 tuple

글로벌디노 2024. 11. 28. 23:50

튜플 tuple ( , )

 

파이썬에서 튜플은 순서가 있고 변경할 수 없는 객체의 모음입니다. 즉, 한 번 생성된 튜플은 그 내용을 수정할 수 없습니다. 튜플은 괄호 ()를 사용하여 생성하고, 각 요소는 쉼표 ,로 구분합니다.

 

특징

 

순서가 있다: 튜플의 요소들은 생성된 순서대로 유지됩니다.

변경 불가능: 튜플은 생성 후에는 요소를 추가, 삭제, 수정할 수 없습니다.

다양한 자료형: 튜플은 숫자, 문자열, 불리언, 심지어 다른 튜플이나 리스트와 같은 다양한 자료형의 요소를 포함할 수 있습니다.

중복 허용: 튜플은 같은 값을 가진 요소를 여러 개 포함할 수 있습니다.

 

튜플 생성

 

1. 괄호 사용 ( , )

# 빈 튜플
empty_tuple = ()

# 정수형 튜플
numbers = (1, 2, 3, 4, 5)

# 문자열 튜플
strings = ("apple", "banana", "cherry")

# 혼합형 튜플
mixed_tuple = (1, "hello", True, 3.14)

# 중첩 튜플
nested_tuple = ((1, 2), (3, 4), (5, 6))

print(type(empty_tuple), empty_tuple)
print(numbers)
print(strings)
print(mixed_tuple)
print(nested_tuple)

출력:

<class 'tuple'> ()
(1, 2, 3, 4, 5)
('apple', 'banana', 'cherry')
(1, 'hello', True, 3.14)
((1, 2), (3, 4), (5, 6))

 

 

2. tuple() 생성자 사용

tuple() 생성자를 사용하여 다른 시퀀스 (리스트, 문자열 등)를 튜플로 변환할 수 있습니다.

# 리스트를 튜플로 변환
list_to_tuple = tuple([1, 2, 3, 4, 5])
print(list_to_tuple)  # 출력: (1, 2, 3, 4, 5)

# 문자열을 튜플로 변환
string_to_tuple = tuple("hello")
print(string_to_tuple)  # 출력: ('h', 'e', 'l', 'l', 'o')

출력:

(1, 2, 3, 4, 5)

('h', 'e', 'l', 'l', 'o')

 

 

3. 괄호 생략

요소들을 쉼표 ,로만 구분하여 튜플을 생성할 수도 있습니다. 하지만 괄호를 사용하는 것이 가독성을 높이는 데 좋습니다.

# 괄호 생략
implicit_tuple = 1, 2, 3, 4, 5
print(implicit_tuple)  # 출력: (1, 2, 3, 4, 5)

출력:

(1, 2, 3, 4, 5)

 

 

4. 단일 요소 튜플
단일 요소 튜플을 생성할 때는 요소 뒤에 쉼표 ,를 붙여야 합니다. 쉼표가 없으면 튜플이 아닌 해당 자료형의 값으로 인식됩니다.

# 단일 요소 튜플 (쉼표 필수)
single_element_tuple = (1,)
print(single_element_tuple)

# 튜플이 아닌 정수
not_a_tuple = (1)
print(type(not_a_tuple), not_a_tuple)

출력:

(1,)

<class 'int'> 1

 

 

5. range() 함수 활용

range() 함수를 사용하여 숫자 범위를 튜플로 생성할 수 있습니다.

# 0부터 9까지의 숫자를 포함하는 튜플
range_tuple = tuple(range(10))
print(range_tuple)

# 1부터 10까지의 숫자를 포함하는 튜플
range_tuple2 = tuple(range(1, 11))
print(range_tuple2)

출력:

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

 

 

튜플 데이터 읽기 (Read)

 

1. 인덱싱

튜플의 요소는 인덱스를 사용하여 접근할 수 있습니다. 인덱스는 0부터 시작합니다.

my_tuple = ("apple", "banana", "cherry")

print(my_tuple[0])
print(my_tuple[1])
print(my_tuple[2])

출력:

apple

banana

cherry

 

 

2. 슬라이싱

my_tuple = ("apple", "banana", "cherry", "orange", "kiwi")

print(my_tuple[1:4])
print(my_tuple[:3]) 
print(my_tuple[2:])

출력:

('banana', 'cherry', 'orange')

('apple', 'banana', 'cherry')

('cherry', 'orange', 'kiwi')

 

 

3. 반복문

for 반복문을 사용하여 튜플의 모든 요소를 순회할 수 있습니다.

my_tuple = ("apple", "banana", "cherry")

for fruit in my_tuple:
  print(fruit)

출력:

apple

banana

cherry

 

 

4. in 연산자

특정 요소가 튜플에 있는지 확인할 수 있습니다.

my_tuple = ("apple", "banana", "cherry")
print('apple' in my_tuple)
print('orange' in my_tuple)

True

False

 

 

5. 튜플 unpacking

튜플의 요소들을 여러 변수에 동시에 할당할 수 있습니다.

my_tuple = ("apple", "banana", "cherry")

fruit1, fruit2, fruit3 = my_tuple
print(fruit1)
print(fruit2)
print(fruit3)

 

apple

banana

cherry

반응형