То, что вы просите, возможно, но не должно быть сделано.
>>> 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
настолько важны, что им нужно имя.
Каждый раз, когда вы думаете, что вам нужно это сделать, вы должны использовать массив или словарь, а не динамически сконструированные переменные. – Barmar
Используйте контейнер, например список или словарь, вместо того, чтобы пытаться катиться самостоятельно. – kindall
Вы могли бы добиться чего-то подобного, но, пожалуйста, не делайте этого. Только не делай этого. Переменные имена переменных - это первый шаг на пути к аду. – Matthias