set

Функция set() создаёт объект множества, который является неупорядоченной коллекцией уникальных элементов.

Синтаксис

set([iterable])

Аргументы

  • iterable (необязательный):
    • Что означает: Итерируемый объект, элементы которого станут элементами множества.
    • Возможные значения: Любой итерируемый объект (список, строка, кортеж и т.д.).

Возвращаемое значение

Возвращает объект множества, содержащий уникальные элементы из переданного итерируемого объекта. Если аргумент не передан, создаётся пустое множество.

Примеры использования

print(set([1, 2, 2, 3]))  # Вывод: {1, 2, 3}

print(set("hello"))  # Вывод: {'h', 'e', 'l', 'o'}

print(set())  # Вывод: set()

Эквивалентный код

def pyplanet_set(iterable=None):
    result = {}
    if iterable is not None:
        for item in iterable:
            result[item] = None
    return result.keys()

Частые ошибки

  1. Ожидание, что set сохранит порядок элементов:

    print(set([1, 2, 3, 2, 1]))  # Вывод: {1, 2, 3}, порядок не гарантирован
    
  2. Попытка передать неитерируемый объект:

    print(set(42))  # Ошибка: TypeError
    

Часто задаваемые вопросы

  1. Можно ли создать пустое множество? Да, используйте set() без аргументов. Обратите внимание, что {} создаёт пустой словарь, а не множество.
  2. Чем set() отличается от frozenset()? set — изменяемое множество, frozenset — неизменяемое.