获取枚举的最后一个索引值的Pythonic方法

时间:2015-02-11 19:05:52

标签: python enumerate

当我通过列表进行枚举时,是否有预期的pythonic方法来获取提供的最后一个索引值?

可以获得相同的东西:

highest = None
for index, value in enumerate(long_list):
    # do stuff with index and value
    highest = index
return highest

这种方法我不喜欢。它有数百个不必要的变量赋值。而且,它很难看。

背景:我有一个带有RDBS和SQLAlchemy的有序列表构建,使用数字作为关系表中的索引。此外,我将最高使用的索引号存储在列表中,以便于追加新条目(在关系表上没有额外的最大查找)。当事情搞砸了,无论出于何种原因,我都包含了一个reorg函数,它从0开始重建索引(以消除任何间隙)。我通过对关联表进行枚举迭代来实现这一点。之后,我需要计算它们或最大化索引,以获得列表的新的最高索引值。这有点让我烦恼。

连连呢?最好是在2.7中工作的东西。

1 个答案:

答案 0 :(得分:4)

获取列表的最后一个索引

len(mylist)-1

要获取列表的最后一个元素,您只需使用否定索引。

mylist[-1]