Как изменить переменную в кортеже кортежей на кортеж с желаемым значением

#python #tuples

#python #Кортежи

Вопрос:

Как добавить переменную к элементу каждого кортежа, который полностью готов в кортеже, и сделать элемент и переменную кортежем.
Ввод: x = (('U', 'H', 'S', 'H'), ('H', 'U', 'H', 'S'), ('U', 'H', 'H', 'U'))

Требуемый результат: y = ((('U',0), ('H',0), ('S',0), ('H',0)), (('H',0), ('U',0), ('H',0), ('S',0)), (('U',0), ('H',0), ('H',0), ('U',0)))

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

Комментарии:

1. Можете ли вы поделиться решением, которое вы пробовали?

Ответ №1:

Используйте генератор:

 y = tuple(tuple((sub_el, 0) for sub_el in el) for el in x)
  

Комментарии:

1. чисто и элегантно, спасибо!