如何在循环中逐个展示列表元素?Python双列表遍历输出冗余问题求解
问题原因
你当前的代码嵌套了两层循环,外层for text_files in list1会遍历list1的3个元素,每轮外层循环都会触发内层while循环完整打印一遍两个列表的所有对应元素,最终会输出3次你期望的内容,所以出现重复。
解决方法
方案1:删除多余的外层for循环
直接保留内层的while逻辑即可,修改后代码如下:
list1 = ['Math', 'Science ', 'English'] list2 = ['10', '11 ', '12'] i = 0 while i < len(list1): print(list1[i]) print(list2[i]) i += 1
方案2:使用更简洁的Python内置函数实现
可以用zip()函数直接配对两个列表的对应位置元素,无需手动维护索引,写法更简洁易读:
list1 = ['Math', 'Science ', 'English'] list2 = ['10', '11 ', '12'] for item1, item2 in zip(list1, list2): print(item1) print(item2)
两种方案运行后都能得到你期望的输出效果。
内容的提问来源于stack exchange,提问作者cookies
相关产品推荐
相关产品推荐

