Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Почему при преобразовании списка в набор и обратно я получаю ошибку "список" нехешируемого типа

Автор вопроса: JJJ1106Ответов: 1

Как и многие другие вопросы здесь, я пытаюсь удалить дубликаты из списка. Однако, когда я выполняю код, который, как утверждают другие ответы, работает, я получаю следующую ошибку:

TypeError: unhashable type: 'list'

в следующей строке кода:

total_unique_words = list(set(total_words))

Кто-нибудь знает возможное решение этой проблемы? Это потому, что в большинстве случаев исходная структура не является списком?

Спасибо!

  • Покажите фактический код, который вы используете для создания total_words. Я подозреваю, что вы думаете, что это должен быть список строк, хотя на самом деле это, вероятно, список списков. ekhumoro 07.10.2015

pythonlistsetduplicatestypeerror

Ответы

Ответ 1 · рейтинг 3 · Steven Rumbalski

total_words должен содержать подсписки для возникновения этой ошибки.

Рассмотреть возможность:

>>> total_words = ['red', 'red', 'blue']
>>> list(set(total_words))
['blue', 'red']
>>> total_words = ['red', ['red', 'blue']] # contains a sublist
>>> list(set(total_words))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы