Здравствуйте!
Если со списками, кортежами и словарями, а также их практическими применениями все понятно, то суть множеств для меня не совсем ясна. Где можно применить этот "рандомный список" с не повторяющимися элементами?
Я сначала думал, может он весить должен меньше, чем список, но проверив с помощью __sizeof__(), оказалось, что множество превышает список в весе аж в несколько раз. 123, 456, "hello" = списком весит 64, множеством 200.
Но речь вообщем-то о том, где можно практически применять это множество.
Буду благодарен!
Навскидку:
- для быстрого удаления дубликатов, поскольку множества могут содержать только уникальные элементы
- для выполнения математических операций объединения, пересечения, разности множеств
как и сказал Владимир. Нужно хранить уникальные данные и не важно в каком порядке? Используйте множества - с ними быстрее работать. Такими данными могут быть хэши или перечисление всех слов, встречаемых в тексте.
Множества - это не "рандомный список". Почитайте. Нужны они для быстрых операций с их членами - пересечением, объединением, разностью. У Скиены, если мне не изменяет память, был пример оценки скорости поиска пересечения. Для множеств из миллиона элементов это заняло 0,02 микросекунды, для соразмерных списков 15 минут.