python中的enumerate函数

本文介绍了Python内置函数enumerate的用法,它常用于在for循环中获取元素及其对应的索引。通过示例展示了如何遍历字符串、数组、列表和字典,并提供了查找特定值的不同方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



在python中enumerate的用法多用于在for循环中得到计数,

enumerate参数为可遍历的变量,如 字符串,列表等; 返回值为enumerate类。

示例代码如下所示:

import string
s = string.ascii_lowercase
e = enumerate(s)
print s
print list(e)

输出结果如下:

abcdefghijklmnopqrstuvwxyz
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j'), (10, 'k'), (11, 'l'), (12, 'm'), (13, 'n'), (14, 'o'), (15, 'p'), (16, 'q'), (17, 'r'), (18, 's'), (19, 't'), (20, 'u'), (21, 'v'), (22, 'w'), (23, 'x'), (24, 'y'), (25, 'z')]

在同时需要index和value值的时候可以使用 enumerate。下列分别将字符串,数组,列表与字典遍历序列中的元素以及它们的下标:

一,字符串:

 for i,j in enumerate('abc'):
     print i,j

输出结果为:

0 a
1 b
2 c

二,数组:

 for i,j in enumerate(('a','b','c')):
     print i,j

输出结果为:

0 a
1 b
2 c

三,列表:

 for i,j in enumerate([1,2,3]):
     print i,j

输出结果为:

0 1
1 2
2 3

四,字典:

for i,j in enumerate({'a':1,'b':2}):
    print i,j

输出结果为:

0 a
1 b

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










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值