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

Python如何根据变量n获取顺序命名列表的指定值

实现方案

以下是两种常用实现方式,优先推荐第二种结构化存储的方案:

方案1:从全局命名空间动态读取(仅作参考,不推荐生产使用)

如果你的列表都是在全局作用域下定义的,可以通过globals()内置函数直接读取对应变量名的对象:

# 示例列表定义
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
n = 3

# 取值逻辑:Python序列索引从0开始,第二个元素对应下标1
print(globals()[f'list{n}'][1])

当n=3时上述代码会输出8,即list3的第二个值。

注意:该方法强依赖变量作用域,代码可维护性差,容易触发变量不存在的报错,仅适合临时测试场景使用。


方案2:预存入容器中(生产环境推荐)

更稳妥的方式是提前把所有有序列表存入统一容器,通过索引直接取值,不需要动态拼接变量名:

  • 用列表存储(适合n从1连续递增的场景)
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
# 下标0位留空,让容器索引和n的取值直接对应
list_container = [None, list1, list2, list3]
n = 3
print(list_container[n][1])
  • 用字典存储(适合n不连续的场景)
list_container = {
    1: [1, 2, 3],
    2: [4, 5, 6],
    3: [7, 8, 9]
}
n = 3
print(list_container[n][1])

该方式逻辑清晰,不会出现变量名拼写错误、作用域不匹配的问题,也方便后续扩展维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:27:02