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

Python如何将var1、var2这类按序列命名的变量组装为列表

正确实现方案

核心问题说明

你原代码存在两个问题:

  • 拼接变量名时使用了错误的前缀semplus,和你实际的变量前缀var不符
  • namestr函数的作用是获取变量对应的名称字符串,和你需要「获取变量值」的需求完全不匹配

实现代码

如果你的var1~varn是全局变量,直接通过globals()按名称取值即可,推荐用列表推导式实现,写法更简洁:

var1 = 1
var2 = 2
var3 = 3
var4 = 4

# 直接生成目标列表
variables = [globals()[f'var{i}'] for i in range(1, 5)]

运行后variables的值就是[1, 2, 3, 4],和你手动写[var1, var2, var3, var4]的效果完全一致。

如果变量定义在局部作用域内,把globals()替换成locals()即可。

优化建议

如果可以调整代码结构,更推荐你一开始就把同系列的值直接存到列表或字典里,避免定义一堆带数字后缀的独立变量,代码可读性和可维护性都会更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:09:13