Не теряя скобок, преобразуйте список в набор и затем «объедините» вместе со списком наборов - PullRequest
0 голосов
/ 24 апреля 2020
  • У меня есть значение индекса под названием new_c[a]. new_c[a] == [1,2,3]
  • У меня есть список наборов под названием check_com_of_three. Это [(4,5,6), (7,8,9)].
  • Я хотел бы присоединиться set(new_c[a]) с check_com_of_three.

(например, [(1,2,3),(4,5,6),(7,8,9)])

Я используя set, чтобы убедиться, что в set(check_com_of_three)

>>>set(new_c[a]) + str(',') + set(check_com_of_three)

Output

Traceback (most recent call last):
  File "<pyshell#34>", line 1, in <module>
    set(new_c[a]) + str(',') + set(check_com_of_three)
TypeError: unsupported operand type(s) for +: 'set' and 'str'

нет повторяющихся множеств. Любое объяснение, почему я делаю это неправильно, и что лучше и самый простой способ сделать это?

Ответы [ 2 ]

3 голосов
/ 24 апреля 2020

Поскольку у вас уже есть список, вы можете использовать insert с индексной позицией:

x = (1,2,3)
y = [(4,5,6), (7,8,9)]

y.insert(0, tuple(x))
print(y)

OUTPUT :

[(1,2,3), (4,5,6), (7,8,9)]
1 голос
/ 25 апреля 2020

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

element = new_c[a]
check_com_of_three = [(4,5,6), (7,8,9)]

new_list = check_com_of_three + [element]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...