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

Python中如何通过存储列表名称的变量遍历对应列表?

Python通过字符串变量名遍历对应列表的方法

嘿,这个需求我之前也碰到过!你直接写for item in list_name肯定行不通,因为list_name现在只是个字符串,并不是实际的列表对象。不过有几种实用的方法能帮你实现目标:

方法1:利用全局/局部命名空间获取列表

Python里的globals()函数会返回当前的全局变量字典,你可以把字符串形式的列表名作为键,从字典里取出对应的列表对象:

listA = [1, 2, 3, 4]
list_name = 'listA'

# 从全局命名空间中获取列表
target_list = globals()[list_name]
for item in target_list:
    print(item)

如果你的列表是在函数内部定义的局部变量,那把globals()换成locals()就可以了。不过要注意:这种方式直接操作命名空间,要是字符串拼写错误或者变量不存在,很容易抛出KeyError,所以用的时候要小心。

方法2:用字典管理列表(更推荐)

我更建议你用字典来统一管理所有需要通过名称调用的列表,这种方式更清晰、安全,也更容易维护:

# 把所有列表存入字典,键就是你要用到的名称字符串
list_collection = {
    'listA': [1, 2, 3],
    'listB': ['apple', 'banana', 'cherry'],
    'listC': [True, False, True]
}

list_name = 'listA'
# 通过字典键直接获取列表并遍历
for item in list_collection[list_name]:
    print(item)

这种方法完全避免了操作命名空间的风险,而且当你需要新增或修改列表时,直接在字典里操作就行,结构一目了然。

另外提一句:你说的&list_name这种写法在Python里是不支持的,Python没有类似C语言的取地址符用法,就别尝试啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:28:23