You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将frame0、frame1等变量值自动添加到列表中?

解决方法

你现在的问题是把变量名的字符串放进了列表,而不是变量的实际值,下面给你几种可行的解决方式:

方法1:通过全局命名空间字典获取变量值

利用globals()函数获取当前全局作用域的变量字典,键是变量名字符串,值对应变量的实际内容,修改循环代码即可:

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

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

运行后frames就会得到["D", "CD", "BCD", "ABCD"]。

方法2:用eval解析字符串(不推荐但可用)

如果只是自己写小脚本,也可以用eval直接把变量名字符串解析为变量:

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

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

注意:eval会执行任意传入的字符串代码,若变量名来源不可控会有安全风险,正式场景尽量避免使用。

方法3:更简洁的初始化方式

其实完全没必要单独定义frame0到frame3这些变量,直接把帧内容初始化进列表更省事:

frames = ["D", "CD", "BCD", "ABCD"]

内容的提问来源于stack exchange,提问作者Rav3nPho3nix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:50:27