Конкатенация вложенных кортежей - PullRequest
3 голосов
/ 13 марта 2012

Учитывая две переменные

A = (2, 3)
B = (1, 4), (5, 8)

Какой самый простой способ объединить два в переменную результата C, так что:

C = ((2, 3), (1, 4), (5, 8))

Обратите внимание, что просто позвонив:

C = A + B 

Результат:

C = (2, 3, (1, 4), (5, 8))

что не желаемый результат.

Кроме того, обратите внимание, что вместо списков предпочтительнее использовать кортежи, чтобы A, B и C могли использоваться в других местах в качестве ключей словаря.

Ответы [ 4 ]

8 голосов
/ 13 марта 2012

Я бы сказал, что вы, вероятно, подразумевали также и кортеж A как вложенный:

>>> A = ((2, 3),)
>>> A + ((1,4), (5,8))
((2, 3), (1, 4), (5, 8))
6 голосов
/ 13 марта 2012

То есть

(A,) + B

Обратите внимание, что B уже является вложенным кортежем, а (A,) создает его из плоского кортежа A.

1 голос
/ 13 марта 2012

Если вы хотите больше контроля, рассмотрите возможность использования списков. Если вместо этого A является вложенным кортежем, сделать это будет достаточно просто:

>>> A = (2, 3),
>>> B = (1, 4), (5, 8)
>>> A + B
((2, 3), (1, 4), (5, 8))
0 голосов
/ 15 мая 2019

Ниже код может помочь

>>> A = (2, 3)
>>> B = (4, 5)
>>> C = (A,) + B
>>> C
((2, 3), (1, 4), (5, 8))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...