这是程序的例子
hello1,hello2,hello3,hello4,hello5=(),(),(),(),()
a_list=[hello1,hello2,hello3,hello4,hello5]
greetingslist= ["hello","good morning","good evening","afternoon","hi"]
for i range 5:
a_list[i]=greetingslist[i]
所以我希望每个变量标识符都不同,以便为每个变量标识符分配一些东西。但是,它不会识别变量旁边的[i]
,因此会发生错误。
我不想更改程序或者太复杂,但我希望这可以在一个循环内完成......有什么方法可以做到这一点???
提前感谢!
答案 0 :(得分:0)
您只是存储对您在变量中重写的变量的引用。如果您想按名称动态设置变量,则必须根据命名空间使用globals()
/ locals()
/ setattr()
,例如:
greetings_list = ["hello", "good morning", "good evening", "afternoon", "hi"]
for i, v in enumerate(greetings_list):
locals()["hello" + str(i + 1)] = v
print(hello1) # hello
print(hello2) # good morning
print(hello3) # good evening
print(hello4) # afternoon
# etc.
不是它推荐的风格或任何东西,远非如此,但这是你如何做到的。