首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何遍历列表中除最后一项以外的所有项?

如何遍历列表中除最后一项以外的所有项?
EN

Stack Overflow用户
提问于 2009-05-27 08:59:36
回答 7查看 231.5K关注 0票数 189

我想循环遍历一个列表,检查每一项与它后面的项是否一致。

有没有一种方法可以使用for x in y遍历除最后一项之外的所有项?如果可以的话,我更喜欢不使用索引。

便笺

自由空间回答了我的实际问题,这就是为什么我接受了答案,但SilentGhost回答了我应该问的问题。

对于造成的混乱,我表示歉意。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-05-27 09:04:36

代码语言:javascript
复制
for x in y[:-1]

如果y是一个生成器,那么上面的代码将不起作用。

票数 378
EN

Stack Overflow用户

发布于 2009-05-27 09:26:30

将序列项与以下项进行比较的最简单方法:

代码语言:javascript
复制
for i, j in zip(a, a[1:]):
     # compare i (the current) to j (the following)
票数 57
EN

Stack Overflow用户

发布于 2009-05-27 09:18:48

如果您希望以配对的方式获取序列中的所有元素,请使用此方法(配对函数来自itertools模块中的示例)。

代码语言:javascript
复制
from itertools import tee, izip, chain

def pairwise(seq):
    a,b = tee(seq)
    b.next()
    return izip(a,b)

for current_item, next_item in pairwise(y):
    if compare(current_item, next_item):
        # do what you have to do

如果需要将最后一个值与某些特定值进行比较,请将该值链接到末尾

代码语言:javascript
复制
for current, next_item in pairwise(chain(y, [None])):
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/914715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档