我需要对列表中的最后一个元素执行一些特殊的操作。有没有比这更好的方法了?
array = [1,2,3,4,5] for en,枚举(数组)中的val: if(i + 1)== len(array): //处理最后一个元素 else: //处理其他要素
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句