如何使用forloop变量名

时间:2017-06-02 02:06:50

标签: python python-3.x

我有变量text1text2text3。我想打印它们。

for i in range(1, 4):
    text = 'text' + str(i)
    print(text)

此代码打印字符串 文本1 文本2 文字3 ,而不是他们的内容。

4 个答案:

答案 0 :(得分:3)

正确的方法是使用字典。目前你正在接受一个字符串对象,由变量文本引用,该变量文本包含字符串' text'并将其与字符串对象连接起来' i'制作一个新的字符串对象' texti'并使文本变量引用。即你所做的就是创建一个新的字符串对象并使用相同的变量引用它。

你想要做的是创建一个字典,其中键是变量,值包含你引用的对象。

variables = {'var1':'Hello', 'var2':'World'}

现在,如果你想得到“你好”。你会

print(variables['var1'])

答案 1 :(得分:1)

您不想这样做,请尝试使用列表或字典。

答案 2 :(得分:1)

如果由于某种原因需要这样做,可以使用函数eval将字符串解析为python表达式。只需将您的print(text)行替换为

即可
print(eval(text))

但正如James Lingham所说,这不是一个好主意。它易于阅读并容易出错,并且存在更简单的解决方案。例如,您可以创建一个列表[text1, text2, text3],然后循环遍历它们。

text = [text1, text2, text3]
for i in text:
    print(i)

答案 3 :(得分:-1)

虽然我同意其他评论,但有一种方法。 但请尝试找到更好的方法来做到这一点。

for i in range(1,4):
    text = 'text' + str(i)
    print(eval(text))