Python: Добавить список для установки? - PullRequest
189 голосов
/ 20 августа 2009

Проверено на интерпретаторе Python 2.6:

>>> a=set('abcde')
>>> a
set(['a', 'c', 'b', 'e', 'd'])
>>> l=['f','g']
>>> l
['f', 'g']
>>> a.add(l)
Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    a.add(l)
TypeError: list objects are unhashable

Я думаю, что не могу добавить список в набор, потому что Python никак не может сказать, добавил ли я один и тот же список дважды. Есть ли обходной путь?

РЕДАКТИРОВАТЬ: я хочу добавить сам список, а не его элементы.

Ответы [ 12 ]

2 голосов
/ 19 февраля 2014

Вот как я обычно это делаю:

def add_list_to_set(my_list, my_set):
    [my_set.add(each) for each in my_list]
return my_set
0 голосов
/ 25 августа 2017

Это должно сделать:

set(tuple(i) for i in L)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...