CodeGym /행동 /Python SELF KO /세트와 작업하기

세트와 작업하기

Python SELF KO
레벨 9 , 레슨 3
사용 가능

3.1 요소의 수를 정하기

세트에서 요소의 수를 알아내려면 len() 함수를 사용하면 돼. 이 함수는 세트의 유니크한 요소의 수를 반환해.

len() 함수 사용 예


my_set = {1, 2, 3, 4, 5}
print(len(my_set))  # 출력: 5
        

이 예제에서 my_set은 다섯 개의 요소를 가지고 있어. len() 함수는 이 수를 반환해.

세트가 비어 있는지 확인하기

세트가 비어 있는지 확인하려면 len() 함수를 사용할 수 있어. 이건 조건문이나 루프에서 유용해.


my_set = set()

if len(my_set) == 0:
    print("세트가 비어 있어")
else:
    print("세트가 비어 있지 않아")
        

3.2 타입 알아내기

변수 안에 세트가 있는지 확실하지 않다면, type() 함수를 사용해서 확인할 수 있어. type() 함수는 객체의 타입을 반환해. 이건 데이터 타입을 확인하는 데 특히 유용해, 세트와 다른 데이터 컬렉션을 작업할 때 말이야.

예제:


my_set = {1, 2, 3}
print(type(my_set))  # 출력: <class 'set'>
        

이 예제에서 type(my_set)<class 'set'>을 반환해, my_set이 세트라는 걸 알려줘.

데이터 타입 확인하기

연산을 수행하기 전에 type() 함수를 사용해서 데이터 타입을 확인할 수 있어. 이건 호환되지 않는 데이터 타입으로 인한 오류를 피하는 데 도움이 돼.


def add_element(collection, element):
    if type(collection) is set:
        collection.add(element)
    else:
        print("오류: 제공된 컬렉션이 세트가 아니야")
        
my_set = {1, 2, 3}
add_element(my_set, 4)  # 요소가 추가됨
add_element([1, 2, 3], 4)  # 오류 출력
        

이 예제에서 add_element() 함수는 제공된 컬렉션이 세트인지 확인한 후 요소를 추가해.

type() 함수는 다양한 데이터 타입을 포함할 수 있는 복잡한 데이터 구조를 만들 때 유용해. 동적으로 데이터 타입을 알아내고 그에 따라 처리할 수 있거든.

예제:


my_set = {}
print(type(my_set))  # 출력: <class 'dict'>
        

세트를 만들 때랑 사전을 만들 때랑 동일한 중괄호를 사용하는데, 내부의 약간 다른 구문 때문에 그래. 기본적으로, 안에 요소가 없으면 사전을 만드는 거야!

3.3 요소의 순서

세트는 유니크한 요소만 저장하는 특별한 타입의 데이터 컬렉션이야. 세트의 주요 특징 중 하나는 순서가 없다는 것이야. 즉, 세트의 요소들은 고정된 순서가 없고, 각 반복마다 순서가 바뀔 수 있어.

Python에서 세트는 해시 테이블을 기반으로 구현돼. 요소를 세트에 추가하면, Python은 그 해시 값을 계산하고 그 값을 사용해 해시 테이블에서 요소의 위치를 결정해. 이 데이터 구조는 소속 확인, 요소 추가 및 제거를 빠르게 할 수 있게 해줘. 하지만 해시 값을 사용하기 때문에 요소의 순서는 유지되지 않고 예측할 수도 없어.

세트의 순서가 없는 예제

간단한 예제를 보자:


my_set = {3, 1, 2}
for item in my_set:
    print(item)
    

이 코드를 실행하면 어떤 순서로든 요소가 출력될 수 있어, 예를 들어 1 2 3 또는 3 1 2. 이렇게 세트의 요소 출력 순서는 보장이 안 되고 프로그램을 실행할 때마다 바뀔 수 있어.

순서 없음의 중요성

세트의 순서 없음은 여러 가지 중요한 결과를 가지고 있어:

  • 인덱싱 없음: 리스트와 튜플과 달리, 세트는 인덱스로 요소에 접근할 수 없어. my_set[0]를 시도하면 오류가 발생할 거야.
  • 성능: 순서 없음은 세트가 성능 면에서 효율적이게 해줘, 특히 요소를 추가하거나 제거할 때.
  • 유니크함: 세트는 자동으로 중복을 제거하기 때문에 유니크한 데이터를 저장하는 데 유용해.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION