создает единый набор элементов без дубликатов, тогда как список может содержать произвольные данные.

аюсь получить список списка кортежей: что-то вроде[ [(1,0),(2,0),(3,0)],[(1,1),(2,1),(3,1)....]] Я использовал это утверждение

set([(a,b)for a in range(3)]for b in range(3))

Но это дает мне ошибку

TypeError: unhashable type: 'list'

У меня есть 2 вопроса для Гуру Питона:

а) Когда я смотрю на определение Python Hashable -

«Объект является хэшируемым, если он имеет хеш-значение, которое никогда не изменяется в течение срока его службы (ему требуетсягашиш() метод)

когда я использовал функцию dir в выражении выше

dir([(a,b)for a in range(3)]for b in range(3))

кажется, что__hash__ есть. Итак, почему я получаю ошибку?

Я смог получить[[(0, 0), (1, 0), (2, 0)], [(0, 1), (1, 1), (2, 1)], [(0, 2), (1, 2), (2, 2)]] с помощью команды list:

list(list((a,b) for a in range(3)) for bin range(3))

б) перечислить и установить оба принимает Iterable в качестве параметра. Почему один работает (список), а другой нет (установлен)?

Ответы на вопрос(2)

Ваш ответ на вопрос