파이썬에서 세트(Set)는 중복되지 않는 원소들의 집합을 나타내는 자료형입니다. 세트는 원소의 순서를 보장하지 않으며, 변경 가능한(Mutable) 자료형입니다.
세트를 사용할 때, 특정 원소의 타입을 확인하는 경우가 종종 발생합니다. 이 포스트에서는 파이썬에서 세트의 원소 타입을 확인하는 방법을 알아보겠습니다.
1. type() 함수 사용
가장 간단하게 세트의 원소 타입을 확인하는 방법은 type()이라는 내장 함수를 사용하는 것입니다. 이 함수는 인자로 전달된 객체의 타입을 반환합니다.
my_set = {1, 'two', 3.0, (4, 5, 6)}
for element in my_set:
print(element, type(element))
위의 코드에서는 my_set이라는 세트의 각 원소와 해당 원소의 타입을 출력합니다. 출력 결과는 다음과 같을 수 있습니다.
1 <class 'int'>
two <class 'str'>
3.0 <class 'float'>
(4, 5, 6) <class 'tuple'>
2. isinstance() 함수 사용
또 다른 방법은 isinstance()라는 내장 함수를 사용하는 것입니다. isinstance() 함수는 주어진 객체가 특정 타입과 일치하는지 여부를 확인합니다.
my_set = {1, 'two', 3.0, (4, 5, 6)}
for element in my_set:
if isinstance(element, int):
print(f'{element}은(는) int 타입입니다.')
elif isinstance(element, str):
print(f'{element}은(는) str 타입입니다.')
elif isinstance(element, float):
print(f'{element}은(는) float 타입입니다.')
elif isinstance(element, tuple):
print(f'{element}은(는) tuple 타입입니다.')
위의 코드는 my_set의 각 원소를 탐색하면서, 해당 원소의 타입에 따라 메시지를 출력합니다. 출력 결과는 다음과 같을 수 있습니다.
1은(는) int 타입입니다.
two은(는) str 타입입니다.
3.0은(는) float 타입입니다.
(4, 5, 6)은(는) tuple 타입입니다.
3. type()과 isinstance()의 활용
type()과 isinstance() 함수는 실제로 함께 사용될 수도 있습니다. 원소 타입을 특정한 조건에 따라 처리해야 할 때 유용하게 사용할 수 있습니다.
my_set = {1, 'two', 3.0, (4, 5, 6)}
for element in my_set:
if isinstance(element, int):
print(f'{element}은(는) int 타입입니다.')
# int 타입에 대한 추가 처리
elif isinstance(element, str):
print(f'{element}은(는) str 타입입니다.')
# str 타입에 대한 추가 처리
elif isinstance(element, float):
print(f'{element}은(는) float 타입입니다.')
# float 타입에 대한 추가 처리
else:
print(f'{element}은(는) 기타 타입입니다.')
# 기타 타입에 대한 처리
위의 코드는 my_set의 각 원소를 탐색하면서, 해당 원소의 타입에 따라 메시지를 출력합니다. 추가로 타입에 따른 처리를 추가할 수도 있습니다.
세트(Set)의 원소 타입을 확인함으로써, 사용하려는 원소의 타입을 미리 파악하고 원본 데이터를 효율적으로 다룰 수 있습니다. 이를 통해 파이썬의 다양한 기능을 활용하여 원하는 작업을 수행할 수 있습니다.