본문 바로가기
카테고리 없음

파이썬 튜플 함수 소개 (예제 다수)

by python pro 2023. 2. 6.
반응형

입력된 자료형을 tuple로 변환하는 함수입니다. 이 함수를 사용하면 리스트, 집합, 문자열 등을 tuple 형태로 변환할 수 있습니다.

 

올바른 코드 예시

# 리스트를 tuple로 변환
my_list = [1, 2, 3, 4]
my_tuple = tuple(my_list)
print(my_tuple) # (1, 2, 3, 4)

# 문자열을 tuple로 변환
my_string = "Hello, World!"
my_tuple = tuple(my_string)
print(my_tuple) # ('H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!')

# 집합을 tuple로 변환
my_set = {1, 2, 3}
my_tuple = tuple(my_set)
print(my_tuple) # (1, 2, 3)


# 기본적인 tuple 생성
numbers = (1, 2, 3)
print(type(numbers)) # <class 'tuple'>

# 이미 생성된 tuple을 unpacking하여 변수에 할당
a, b, c = numbers
print(a, b, c) # 1 2 3

 

잘못된 코드 예시

# tuple() 함수는 숫자를 입력으로 받으면 에러가 발생합니다.
my_number = 10
my_tuple = tuple(my_number)
# TypeError: 'int' object is not iterable

 

tuple() 함수는 순회 가능한 자료형(iterable)만 입력으로 받을 수 있으며, 숫자, 불리언 값 등은 입력으로 받을 수 없습니다.

위 코드에서는 my_list, my_string, my_set은 순회 가능한 자료형이기 때문에 tuple() 함수를 사용하여 tuple로 변환할 수 있습니다. 하지만 int 자료형은 순회 가능한 자료형이 아니여서 tuple 함수에 인자로 보내면 에러가 발생되는 것이죠.

 

Python에서 list와 tuple은 둘다 순서가 있는 자료형입니다. 하지만, 사용 방법과 기능적인 차이점이 있습니다. list와 매우 유사하게 생겼지만 tuple은 전혀 다르죠. 면접 질문으로도 많이 나오는데, 어떻게 다른지 알고 계신가요? 아래 간단하게 정리해봤습니다. 확실히 알고 넘어가면 좋겠습니다. 

  1. 변경 가능/불가능 : list는 요소를 추가, 수정, 삭제 할 수 있으며, tuple은 그렇지 못합니다.
  2. 성능 : tuple은 list보다 메모리와 속도면에서 성능이 더 우수합니다.
  3. 사용 용도 : list는 데이터를 추가, 수정, 삭제 하는 데 사용되며, tuple은 데이터를 읽기만 하는 경우에 사용됩니다.

예를 들어, 함수의 리턴값으로 여러 값을 반환할 때 tuple을 사용하며, 데이터베이스에서 검색한 결과를 담을 때도 tuple을 사용합니다.

# list 선언
my_list = [1, 2, 3]

# list 요소 추가
my_list.append(4)

# list 요소 수정
my_list[1] = 5

# list 요소 삭제
del my_list[2]

# tuple 선언
my_tuple = (1, 2, 3)

# tuple 요소 수정 (불가능)
my_tuple[1] = 5 # TypeError: 'tuple' object does not support item assignment
반응형

댓글