Что выведет этот код?


s = {1, (2, 3)}

При выполнении кода s = {1, [2, 3]} возникнет ошибка TypeError: unhashable type: 'list'.

Это происходит потому, что множества в Python могут содержать только hashable объекты, а списки (list) являются изменяемыми и, следовательно, не hashable.


Вопрос:

s = {1, [2, 3]}

Ответ:

Данный код вызовет ошибку TypeError: unhashable type: 'list'.

Пояснение:

В Python множества (set) могут содержать только хешируемые элементы. Это значит, что элементы множества должны быть неизменяемыми (immutable).

Список (list) является изменяемым типом данных. Он может быть изменен после создания (например, добавлены, удалены или изменены элементы). Поэтому списки не могут быть элементами множеств.

В данном случае, попытка добавить список [2, 3] во множество s приводит к ошибке, так как список не хешируется.

Чтобы код работал, можно заменить список на кортеж (tuple), который является неизменяемым:

s = {1, (2, 3)}

В этом случае, s будет множеством, содержащим число 1 и кортеж (2, 3).

0