Python, строка (состоящая из переменной и строки, объединенная), используемая как имя новой переменной? - PullRequest
1 голос
/ 25 августа 2010

Я искал по этому вопросу, но немного о том, как именно сделать то, что я пытаюсь сделать. Я хочу объединить строку (я думаю, что в этом случае это будет строка имеет переменную и строку), как показано ниже, где мне нужно использовать переменную, состоящую из строки, для вызова списка, имеющего индекс (из другой переменной). Я упростил мой код ниже, чтобы просто показать соответствующие части его части макрос, который заменяет значения:

toreplacetype = 'type'
toreplace_indx = 5
replacement_string = 'list'+toreplacetype[toreplace_indx]

итак ... я пытаюсь сделать строку в последней строке равной фактическому имени переменной:

replacement_string = listtype[5]

Любой совет, как это сделать, ценится

EDIT:

Чтобы объяснить далее, это для макроса, который является своего рода системой шаблонов, где я указываю вещи в скрипте Python, которые я хочу заменить конкретными значениями, поэтому я использую регулярное выражение для этого. Поэтому, когда я сопоставляю что-то, я хочу иметь возможность заменить его определенным значением в списке, но, например, в шаблоне у меня есть {{type}}, поэтому я извлекаю это, но тогда мне нужно манипулировать как и выше, чтобы я мог использовать извлеченное значение «тип» для вызова определенного значения из списка (например, из списка с именем «тип списка») (существует более 1 списка, поэтому мне нужно найти тот, который называется « listtype ", поэтому я просто хочу объединить, как указано выше, чтобы получить это, основываясь на значении, которое я извлек с помощью regex

Ответы [ 3 ]

1 голос
/ 25 августа 2010

Хрм ...

globals()['list%s'% toreplacetype][toreplace_indx]
1 голос
/ 25 августа 2010

Это не рекомендуется.Вместо этого используйте диктовку.

vars['list%s' % toreplacetype][5] = ...
0 голосов
/ 25 августа 2010
replacement_string = 'list'+toreplacetype+'['+str(toreplace_indx)+']'

выдаст listtype [5] при печати. ​​

Вам нужно разбить его на 5 частей: 1 строковая переменная, 3 строки и целое число, приведенное к строке.

Я думаю, это то, что вы спрашиваете?

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