如何比较Python列表中的连续元素?
解决连续相邻元素配对问题
你的问题出在使用了步长为2的切片,这样只会把列表中第1&2、3&4、5&6个元素配对,而不是连续相邻的元素(比如第1&2、2&3、3&4...)。
正确实现方式
最简洁的方法是用zip同时遍历原列表和它的切片(从第2个元素开始):
my_list = ['item_1', 'item_2', 'item_3', 'item_4', 'item_5', 'item_6', 'item_7'] for a, b in zip(my_list, my_list[1:]): print(f"{a} {b}")
运行这段代码会输出:
item_1 item_2 item_2 item_3 item_3 item_4 item_4 item_5 item_5 item_6 item_6 item_7
其他实现方式(可选)
如果你习惯用索引遍历,也可以这样写:
for i in range(len(my_list) - 1): a = my_list[i] b = my_list[i+1] print(f"{a} {b}")
两种方式都能准确生成你需要的连续元素对。
内容的提问来源于stack exchange,提问作者Pramu
相关产品推荐
相关产品推荐

