Python中如何遍历变量名及变量内的列表元素?
如何实现外层遍历列表变量、内层遍历列表元素的嵌套循环?
你写的嵌套循环逻辑其实是正确的,问题出在你对var_list存储内容的误解:var1、var2、var3本身就是列表对象,var_list = [var1, var2, var3]里存储的是这三个列表的引用,而非变量名。所以外层循环的var每次拿到的是完整的列表(比如第一次是['apple', 'orange']),内层循环再遍历这个列表的元素,这正是你想要的效果。
如果你觉得外层直接遍历了第一个变量的元素,大概率是测试代码里的逻辑或输出有误,可以用下面的验证代码确认:
var1 = ['apple', 'orange'] var2 = ['teddy bear', 'turtle'] var3 = ['bmw', 'kia'] var_list = [var1, var2, var3] # 验证嵌套循环的执行逻辑 for var in var_list: print(f"当前处理的列表: {var}") for item in var: print(f" 元素: {item}")
运行后输出如下,完全符合“外层遍历列表、内层遍历元素”的需求:
当前处理的列表: ['apple', 'orange'] 元素: apple 元素: orange 当前处理的列表: ['teddy bear', 'turtle'] 元素: teddy bear 元素: turtle 当前处理的列表: ['bmw', 'kia'] 元素: bmw 元素: kia
如果你的真实需求是要同时获取变量名(比如var1)和对应的列表,那需要把变量名与列表绑定存储,比如使用字典:
var_dict = { 'var1': ['apple', 'orange'], 'var2': ['teddy bear', 'turtle'], 'var3': ['bmw', 'kia'] } for var_name, var in var_dict.items(): print(f"当前变量名: {var_name}") for item in var: print(f" 元素: {item}")
这样外层循环就能同时拿到变量名和对应的列表,再通过内层循环遍历元素。
内容的提问来源于stack exchange,提问作者Slade
相关产品推荐
相关产品推荐

