Python中for循环打印多个list内容失败,求正确实现方式
问题解决方法
你当前的代码中,print(list[i])会被Python当作字符串直接输出,无法自动解析为对应的list1、list2等变量。要实现动态获取并打印目标列表的内容,可参考以下两种方法:
方法一:使用字典存储列表(推荐)
将所有列表存入字典,通过键名动态访问对应列表,代码更清晰易维护:
lists = { "list1": ["a", "b", "c", "d"], "list2": ["a", "b", "c"], "list3": ["a", "b"], "list4": ["a"] } for i in range(1, 5): print(lists[f"list{i}"])
运行后输出:
['a', 'b', 'c', 'd'] ['a', 'b', 'c'] ['a', 'b'] ['a']
方法二:通过全局命名空间获取变量
若需保留独立的list1到list4变量,可借助globals()函数获取全局变量字典,通过拼接的键名访问目标列表:
list1 = ["a", "b", "c", "d"] list2 = ["a", "b", "c"] list3 = ["a", "b"] list4 = ["a"] for i in range(1, 5): print(globals()[f"list{i}"])
此方法也能得到预期输出,但不推荐在复杂代码中使用,会降低代码的可读性与可维护性。
内容的提问来源于stack exchange,提问作者Masoud Dindar
相关产品推荐
相关产品推荐

