当在python中遍历一个序列时,我们通常采用如下的方法:
for item in sequence:
process(item)
如果要取到某个item的位置,可以这样写:
for index in range(len(sequence)):
process(sequence[index])
另一个比较好的方式是使用python内建的enumerate函数:
enumerate(sequence,start=0)
上述函数中,sequence是一个可迭代的对
本文实例讲述了python中enumerate函数遍历元素用法。分享给大家供大家参考,具体如下:
enumerate函数用于遍历序列中的元素以及它们的下标
示例代码如下:
i = 0
seq = ['one', 'two', 'three']
for element in seq:
print i, seq[i]
i += 1
#0 one
#1 two
#2 three
print '============'
seq = ['one', 'two', 'three']
for i,
list.remove方法在删除元素的时候往往会出现漏删或者索引越界的情况示例如下:
漏删:
lst=[9,25,12,36]
for i in lst:
if i>10:
lst.remove(i)
print(lst)
>>>[9, 12]
那么为什么12被漏删了呢?其实原理很简单,如图:
列表从下标为0开始遍历,遍历到25时,将25删除,返回一个新的列表:
注意,原来的25对应的下标是1,所以系统会从下标为2的地方开始遍历,但是在新列表中,下标为2的地
如下所示:
# 返回一个列表中出现次数最多的元素
def showmax(lt):
index1 = 0 #记录出现次数最多的元素下标
max = 0 #记录最大的元素出现次数
for i in range(len(lt)):
flag = 0 #记录每一个元素出现的次数
for j in range(i+1