enumerate()函数

2017年9月2日 22:01 368  0  python 内置函数

Python内置的enumerate函数可以把一个可遍历的量变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身。
enumerate参数为可遍历的变量,如 字符串,列表等; 返回值为enumerate类。

list=[1,2,3,4,5,6]

for i ,j in enumerate(list)

  print(i,j)

>>>0,1
>>>1,2
>>>2,3
>>>3,4
>>>4,5
>>>5,6

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'))

# { 9: 1, 3: 1, 4: 1, 5: 1, 7: 1 }