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

如何在Python循环中通过列表名称变量遍历多个列表?

解决方法

直接通过字符串拼接来获取变量名的方式并不推荐,这种做法会降低代码可读性,还容易引发意外错误。更稳妥的是用以下两种方式实现需求:

方法1:将列表放入统一列表遍历(无需用到列表名称)

如果不需要使用list_1这类名称标识,直接把三个列表放进一个大列表循环即可:

list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
list_3 = [7, 8, 9]

for lst in [list_1, list_2, list_3]:
    # 示例操作:打印列表内容
    print(lst)
    # 也可以遍历列表元素做处理
    for item in lst:
        print(f"元素:{item}")

方法2:用字典关联名称与列表(需要用到列表名称时)

如果循环中需要同时获取列表的名称(比如输出“正在处理list_1”这类提示),可以用字典存储名称和对应列表的映射:

list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
list_3 = [7, 8, 9]

# 建立名称到列表的映射
list_map = {
    'list_1': list_1,
    'list_2': list_2,
    'list_3': list_3
}

for name, lst in list_map.items():
    print(f"正在处理 {name}")
    # 示例操作:给每个列表添加标记元素
    lst.append('已处理')
    print(lst)

不推荐的方法(仅作了解)

如果一定要通过字符串拼接获取变量,可以用globals()或locals()函数,但这种写法不建议在正式代码中使用:

list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
list_3 = [7, 8, 9]

for i in range(1, 4):
    var_name = f'list_{i}'
    lst = globals()[var_name]
    # 执行操作
    print(f"{var_name} 的内容:{lst}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 00:15:53