Краткий ответ: вы не можете.
Кортежи неизменны. Списки изменчивы. Это действительно ключевое различие.
Если вы хотите преобразовать упорядоченную коллекцию элементов в Python, это должен быть список. Если вы хотите придерживаться кортежей, вам придется создать новый. Если я вас правильно понял, вы начинаете с:
prodName = [(1.0, 1), (1.1, 2), (1.2, 3)]
prodDict = {1: 'name_1', 2: 'name_2', 3: 'name_3'}
Итак, вы можете получить нужный список:
new_prodName = [(f, prodDict[id]) for f, id in prodName)]
Это не удастся, если id
не найден в диктовке prodDict
. Если вы хотите, чтобы он потерпел неудачу рано, это здорово. Если нет, вы можете установить значение по умолчанию (например: None
), используя .get()
:
new_prodName = [(f, prodDict.get(id, None)) for f, id in prodName)]