2015-10-22 11 views
-1
t = 0 
prices = x 
for t in range(0,5): 
    t += 1 
    [email protected] = y 

Я хочу переменная цена меняется в зависимости от t, как prices1, prices2, prices3 и т.д.Как добавить переменную в переменную

+0

вы смотрели на [словари] (https://docs.python.org/2/tutorial/datastructures ли. HTML # словари)? – metatoaster

+0

Боюсь, вы не можете. почему бы просто не использовать массив? – uoryon

+1

Учитывая, что t является просто индексом, список, вероятно, достаточен, 'prices [t]' – AChampion

ответ

3

Вы действительно не должны автоматически создавать локальные переменные. Лучше всего, чтобы сохранить коллекцию аналогичных значений в контейнере переменной некоторого типа

Вы можете использовать list для этого

prices = [] 
for t in range(0, 5): 
    prices.append(y) 

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

prices = [0] * 5 
for t in range(0, 5): 
    prices[t] = y 

В качестве альтернативы dict

prices = {} 
for t in range(0, 5): 
    prices[t] = y 
+0

Есть ли причина, по которой вы не хотите автоматически создавать локальные переменные? – jfox

1

Может быть, не самое лучшее решение для этой проблемы, но вы можете использовать Exec() для выполнения этой

y = 10 
for t in range(0,5): 
    y = y+t 
    exec("prices"+ str(t) + "= y") 
print(prices0) 
print(prices1) 
print(prices2) 
print(prices3) 
Смежные вопросы