Какой ключ останется
Модуль фильтров каталога собирает флаги из разных источников. Что выведет код?
Модуль фильтров каталога собирает флаги из разных источников. Что выведет код?
flags = {True: "в наличии", 1: "один товар"}
print(flags)
print(len({0, False, 0.0, ""}))
True == 1, хеши равны, значит, это один ключ. При повторной записи Python
обновляет только значение, сам ключ остаётся от первой вставки, поэтому в выводе True, а не 1.
0, False и 0.0 равны друг другу и дают один элемент множества, а пустая строка "" им не равна — второй элемент.