如何成对打印Python列表元素且不重复输出已打印索引值
解决列表成对打印元素的问题
你的代码问题在于循环每次只递增1,导致重复处理相邻元素,而且最后一次循环会出现索引越界的问题(实际运行会报错,你给出的示例输出应该是笔误)。要实现成对打印不重复的元素,有两种简单的方法:
方法一:设置循环步长为2
利用range()的第三个参数指定步长,让索引每次跳过一个元素,直接处理下一对:
# 不要用list当变量名,会覆盖Python内置类型 my_list = [1, 2, 3, 4, 5, 6] for i in range(0, len(my_list), 2): print(my_list[i], my_list[i+1])
运行后会输出:
1 2 3 4 5 6
方法二:用切片+zip配对
通过切片分别取出列表中偶数位置和奇数位置的元素,再用zip()将它们一一配对,这种写法更简洁,不需要手动处理索引:
my_list = [1, 2, 3, 4, 5, 6] for first, second in zip(my_list[::2], my_list[1::2]): print(first, second)
输出结果和上面完全一致。
内容的提问来源于stack exchange,提问作者Irvs
相关产品推荐
相关产品推荐

