您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Python中以不同方式对待列表中的最后一个元素?

如何在Python中以不同方式对待列表中的最后一个元素?

for item in list[:-1]:
    print "Not last: ", item
print "Last: ", list[-1]

如果您不想复制列表,可以制作一个简单的生成器:

# itr is short for "iterable" and can be any sequence, iterator, or generator

def notlast(itr):
    itr = iter(itr)  # ensure we have an iterator
    prev = itr.next()
    for item in itr:
        yield prev
        prev = item

# lst is short for "list" and does not shadow the built-in list()
# 'L' is also commonly used for a random list name
lst = range(4)
for x in notlast(lst):
    print "Not last: ", x
print "Last: ", lst[-1]

notlast的另一种定义:

import itertools
notlast = lambda lst:itertools.islice(lst, 0, len(lst)-1)
python 2022/1/1 18:33:25 有318人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶