@Xproz
Пытаюсь постигнуть компьютерные сети

Для чего нужны множества в Python?

Здравствуйте!
Если со списками, кортежами и словарями, а также их практическими применениями все понятно, то суть множеств для меня не совсем ясна. Где можно применить этот "рандомный список" с не повторяющимися элементами?
Я сначала думал, может он весить должен меньше, чем список, но проверив с помощью __sizeof__(), оказалось, что множество превышает список в весе аж в несколько раз. 123, 456, "hello" = списком весит 64, множеством 200.

Но речь вообщем-то о том, где можно практически применять это множество.
Буду благодарен!
  • Вопрос задан
  • 1461 просмотр
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Навскидку:
- для быстрого удаления дубликатов, поскольку множества могут содержать только уникальные элементы
- для выполнения математических операций объединения, пересечения, разности множеств

5e503f571b5b1835632879.png

5e5040755bcb8877629316.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@kunjut19
как и сказал Владимир. Нужно хранить уникальные данные и не важно в каком порядке? Используйте множества - с ними быстрее работать. Такими данными могут быть хэши или перечисление всех слов, встречаемых в тексте.
Ответ написан
Комментировать
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Множества - это не "рандомный список". Почитайте. Нужны они для быстрых операций с их членами - пересечением, объединением, разностью. У Скиены, если мне не изменяет память, был пример оценки скорости поиска пересечения. Для множеств из миллиона элементов это заняло 0,02 микросекунды, для соразмерных списков 15 минут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы