python enumerate 用法

时间:2023-12-04 15:35:14

A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , where thing is either an iterator or a sequence, returns a iterator that will return (0, thing [0]) , (1, thing [1]) , (2, thing [2]) , and so forth.

A common idiom to change every element of a list looks like this:

用法:在同时需要index 和 value 值得时候可以使用

line = [1,3,'dfd','jdjfjd']
for i in range(len(line)):
item = line[i]
print(i,"--->",item) #运行结果:
0 ---> 1
1 ---> 3
2 ---> dfd
3 ---> jdjfjd

等价于下列代码:

line = [1,3,'dfd','jdjfjd']
for i,item in enumerate(line):
print(i,"-------",item)

enumerate 实战

line 是个 string 包含 0 和 1,要把1都找出来:

#方法一
def read_line(line):
sample = {}
n = len(line)
for i in range(n):
if line[i]!='0':
sample[i] = int(line[i])
return sample
 
#方法二
def xread_line(line):
return((idx,int(val)) for idx, val in enumerate(line) if val != '0')
 
print read_line('0001110101')
print list(xread_line('0001110101'))