Решение 1. Повторить set
numbers = [5, 10, 15, 5, 20]
unique_numbers = sorted(set(numbers))
print(unique_numbers)Сортировка нужна только для стабильного вывода.
Решение 2. Нехешируемый список
my_list = [1, 2, 3]
try:
result = {my_list}
print(result)
except TypeError as error:
print(type(error).__name__, error)list изменяемый, поэтому не может быть элементом set.
Решение 3. Безопасное удаление
my_set = {1, 2, 3}
my_set.discard(0)
print(my_set)discard() не вызывает ошибку, если элемента нет.
Решение 4. Обновление словаря
my_dict = {"name": "Alice", "age": 30}
my_dict.update({"city": "New York", "age": 35})
print(my_dict)Ключ age не дублируется, а обновляется.
Решение 5. pop()
my_dict = {"name": "Alice", "age": 30}
value = my_dict.pop("age")
print(value)
print(my_dict)pop() возвращает удалённое значение.
Решение 6. Комбинированная задача
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 5, "a": 8}
for key in sorted(set(dict1) & set(dict2)):
print(key, dict1[key], dict2[key])Пересечение ключей превращает задачу в обход общего набора.