2014-09-16 2 views
-1
variable_1 = "Dummy String" 
variable_2 = "Dummy String" 
variable_3 = "Dummy String" 

for each in range(3): 
    variable_(each+1) = "Another Dummy String" 

Вышеупомянутый неверный синтаксис проблемы, которую я пытаюсь решить.Итеративная переменная модификация (в петле) - Python

Цель этого кода - добавить номера 1-3 до конца имени переменной, прежде чем изменять содержимое переменной.

При прохождении цикла - для значения 0 - значение 0 + 1 (1) должно быть добавлено к переменной «variable_», дающей переменную_1.

Мой вопрос: Возможно ли это в Python? (Python 2.7.8 более конкретно) и/или есть более практичный способ добиться аналогичного результата?

ответ

2

обычно, вы хотите использовать список вместо кучу разных одноименных переменных:

variables = ['Dummy String'] * 3 
for i in range(3): 
    variables[i] = 'Another Dummy String' 

Посмотрите на Ned Батчелдер-х "keep data out of your variable names".

+0

Я не верю, что список будет работать на то, что я пытаюсь сделать. переменные [i] будут обращаться к информации, хранящейся в элементе списка, но я не могу запускать методы для каждого элемента списка в качестве отдельной переменной. переменные [i] .configure Vs. variable_1.configure – Kastoli

+0

Вы _can_ используете 'globals() ['variable_% d'% i] = 'Another Dummy String'' - Но это работает только в глобальном пространстве имен, и это действительно не правильный способ сделать это. , , – mgilson

Смежные вопросы