2016-10-11 4 views
-2

, поэтому у меня есть цикл, и я хочу вызвать переменную, например, имя и добавить x из цикла в конец имени переменной, поэтому он выглядит как name0.Как добавить переменную к имени другой переменной

, например:

for x, var enumurate(something): 
    name + x = something 

это дает мне ошибку.

+5

Каждый раз, когда вы думаете, что вам нужно это сделать, вы должны использовать массив или словарь, а не динамически сконструированные переменные. – Barmar

+0

Используйте контейнер, например список или словарь, вместо того, чтобы пытаться катиться самостоятельно. – kindall

+0

Вы могли бы добиться чего-то подобного, но, пожалуйста, не делайте этого. Только не делай этого. Переменные имена переменных - это первый шаг на пути к аду. – Matthias

ответ

0

То, что вы просите, возможно, но не должно быть сделано.

>>> foo = ['fee', 'fie', 'foe', 'fum'] 
>>> for i, val in enumerate(foo): 
...  exec 'foo%s = %s' % (i, repr(val)) 
... 
>>> foo3 
'fum' 
>>> foo[3] 
'fum' 

То, о чем вы просите, является типичной ошибкой начинающего. Ссылаясь на четвертый пункт в foo как foo3, нет никаких преимуществ перед письмом foo[3]. Вы можете перебирать foo, не зная, сколько у него элементов. Вы можете мутировать foo, если хотите. Вы можете обратиться к последнему элементу в foo как foo[-1], не зная, что у него четыре предмета. Кроме того, имя foo3 бессмысленно. Он не сообщает читателю кода о том, почему элементы в foo настолько важны, что им нужно имя.

+0

Я постараюсь реплицировать, я в последний раз нуждаюсь в элементе off, variable1, variable2 для дальнейшего в моем коде. – Aleksas

+0

Кроме того, я не новобранец, я работаю с сетью, это простая вещь, которая мешает мне развиваться. – Aleksas

+0

Нет, это не работает, опять же, мне нужна переменная + переменная = дополнительный код. – Aleksas

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