У меня есть следующий список кортежей:Set понимание дает «unhashable типа» (набор списка) в Python
list_of_tuples = [('True', 100, 'Text1'),
('False', 101, 'Text2'),
('True', 102, 'Text3')]
Я хочу, чтобы собрать все вторые элементы каждого набора в набор:
my_set = set()
my_set.add({tup[1] for tup in list_of_tuples})
Но выдает следующее сообщение об ошибке:
TypeError: unhashable type: 'set'
Когда я распечатать соответствующие элементы в итерации, он показывает, что т он в результате набора понимает не ожидаемые скаляры, а списки:
print {tup[1] for tup in list_of_tuples}
set([100, 101, 102])
Почему это происходит? Почему это сначала помещает элементы в список и помещает затем список в набор без каких-либо намеков? Как я могу исправить свое решение?
Вы здесь добавили * наборы * в * наборы * ... –