Python 对字符串名称本身进行迭代是否可能?

Python 对字符串名称本身进行迭代是否可能?,python,string,iteration,Python,String,Iteration,你明白要点了。。这可能吗? 将字符串转换为字符串本身,附加数字(作为字符串)将不起作用,因为“stringx”将是字符串,因此将作为字符串添加到final_字符串:final_string=content 无论哪种方式,我都有兴趣听到任何想法-确定“问题”可以通过多种方式解决,但如果这种方法可行,我很感兴趣。您可以使用exec: string1=“内容” string2=“其他一些内容” string3=“等。” final_string=“” 对于范围(0,6)内的i: exec(“final

你明白要点了。。这可能吗? 将字符串转换为字符串本身,附加数字(作为字符串)将不起作用,因为“stringx”将是字符串,因此将作为字符串添加到final_字符串:final_string=content


无论哪种方式,我都有兴趣听到任何想法-确定“问题”可以通过多种方式解决,但如果这种方法可行,我很感兴趣。

您可以使用
exec

string1=“内容”
string2=“其他一些内容”
string3=“等。”
final_string=“”
对于范围(0,6)内的i:
exec(“final_string+=string”+str(i))

但我建议您按照其中一个答案中的建议将字符串放入列表中。

我建议使用字典,例如:

string1 = "content"
string2 = "some other content"
string3 = "etc."

final_string = ""
for i in range(1, x):
  final_string += string[i]

如果您使用诸如
string1
string2
之类的名称命名变量,那么您应该使用列表并使用
string[1]
等来检索它们。然后这个问题就消失了。“确定“问题”可以通过多种方式解决,但如果这个方法可行,您会感兴趣。”:如上所述,我知道这是可以解决的,虽然我想知道我所引用的方法是否可行。无论如何,谢谢你的意见!这是可能的,但它涉及使用
eval
执行动态生成的代码。不过,没有理由这么做。
exec
是一把生锈的电锯,把手上到处都是钉子。当然,如果你非常小心地使用它,你可以在不伤害自己的情况下完成工作,但是最好选择一个不同的工具。
exec
太过分了;您只需要
eval
来评估
“string”+str(i)
。同意。关键是,这必然涉及到动态生成的代码,这应该尽可能避免。这里不需要
eval
exec
。您可以访问
globals()
感谢您的贡献!正是我想要的。总而言之:eval、exec或globals可以使用上面提到的相同语法:)@MarkMeyer假设
string1
等都在全局范围内,当然。
my_strings = {'string1': "content", 'string3': "some other content", 'string2': "etc."}
final_string = "".join(my_strings[f'string{i}'] for i in range(1, len(my_strings) + 1))