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()
Частые ошибки
Ожидание, что set сохранит порядок элементов:
print(set([1, 2, 3, 2, 1])) # Вывод: {1, 2, 3}, порядок не гарантирован
Попытка передать неитерируемый объект:
print(set(42)) # Ошибка: TypeError
Часто задаваемые вопросы
- Можно ли создать пустое множество? Да, используйте set() без аргументов. Обратите внимание, что {} создаёт пустой словарь, а не множество.
- Чем set() отличается от frozenset()? set — изменяемое множество, frozenset — неизменяемое.