【问题标题】:python automatically add variable to a listpython自动将变量添加到列表中
【发布时间】:2022-11-16 07:42:21
【问题描述】:

我想在 python 中创建一个基本动画,只需使用 print() 和多个变量,所有变量都具有这样的名称:frame0、frame1、frame2,...我可以复制粘贴框架,但我想将它们添加到列表中称为帧。

那是我的代码:

frame0 = "D"
frame1 = "CD"
frame2 = "BCD"
frame3 = "ABCD"

frames = []
for i in range(4):
        frames.append('frame{i}')

我想以frames = ["D", "CD", "BCD", "ABCD"] 的形式在我的列表中添加四个变量,但在这里,在循环之后,框架采用字符串,而不是变量内容frames = ['frame0', 'frame1', 'frame2', 'frame3']。我知道这是因为我在我的追加中使用了 '' 但我还没有找到这个问题的答案。 对不起,我的英文脚本不好。

【问题讨论】:

  • frames = ["D", "CD", "BCD", "ABCD"]你为什么不能那样做?

标签: python list variables append python-3.11


【解决方案1】:

如果变量 frame{..} 是全局变量,你可以这样做

frame0 = "D"
frame1 = "CD"
frame2 = "BCD"
frame3 = "ABCD"

frames = []
for i in range(4):
        frames.append(locals()[f'frame{i}'])

请注意,如果变量是全局变量而不是局部变量,则可以改用globals()[f'frame{i}']

编辑:我觉得我应该注意这个使用 eval() 的一些解决方案。我通常建议避开它,如 this StackOverflow answer 所示

【讨论】:

    猜你喜欢
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2016-05-29
    • 2021-03-21
    • 2017-12-07
    相关资源
    最近更新 更多