печать нескольких переменных с нумерованными именами в цикле for - PullRequest
0 голосов
/ 28 июня 2019

Как я могу напечатать несколько переменных с именами, например, var0, var1, var2, var3 и т. Д., Используя цикл for

#these are my variables
var0 = 'empty'
var1 = 'something'
var2 = 'something again'
var3 = 'last thing'

for x in range(0,4):
    print(varX)

Я хочу, чтобы выражение varX могло печатать каждую переменную одновременно.

Ответы [ 4 ]

1 голос
/ 28 июня 2019

Во-первых, не используйте нумерованные имена переменных; используйте список.

vars = ['empty', 'something', 'something again', 'last thing']

for var in vars:
    print(var)
0 голосов
/ 28 июня 2019

Вы можете создать словарь следующим образом:

d = dict()
d['var0'] = 'empty'
d['var1'] = 'something'
d['var2'] = 'something again'
d['var3'] = 'last thing'
for x in range(0,4):
    print(d["var"+str(x)])
0 голосов
/ 28 июня 2019

как уже говорилось, лучше использовать массив или словарь.Однако вы можете достичь этого с помощью globals() function

for x in range(0, 4):
    print(globals()['var' + x])
0 голосов
/ 28 июня 2019

вы можете попробовать:

#these are my variables
var0 = 'empty'
var1 = 'something'
var2 = 'something again'
var3 = 'last thing'

for x in range(0,4):
    print(eval("var" + str(x)))

больше примеров на eval() здесь . eval() выполняет код Python внутри себя ( source )

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