Как добавить последний элемент вложенного кортежа в предыдущий вложенный кортеж?

Есть список кортежей:

my_list[('str', 'str', int1), ('str', 'str', int2), ('str','str', int3)...] 

Необходимо взять последний элемент (int) и добавить в предыдущий кортеж? На выходе чтоб получилось:

my_list[('str', 'str', int1, int2), ('str', 'str', int2, int3)...] 

Ответы (1 шт):

Автор решения: Павел

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

Вот пример одного из решений:

list_of_tuples = [('str', 'str', 'int1'), ('str', 'str', 'int2'), ('str', 'str', 'int3')]

new_list_of_tuples = [list_of_tuples[x] + (list_of_tuples[x + 1][-1],) for x in range(len(list_of_tuples) - 1)]

print(new_list_of_tuples)

Вывод:

[('str', 'str', 'int1', 'int2'), 
 ('str', 'str', 'int2', 'int3')]
→ Ссылка