python enumerate用法总结

转载自https://blog.csdn.net/churximi/article/details/51648388

enumerate()说明

  • enumerate()是python的内置函数
  • enumerate在字典上是枚举、列举的意思
  • 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
  • enumerate多用于在for循环中得到计数
  • 例如对于一个seq,得到:

    (0, seq[0]), (1, seq[1]), (2, seq[2])
       
       
    • 1
  • enumerate()返回的是一个enumerate对象,例如:
    这里写图片描述

enumerate()使用

  • 如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:
list1 = ["这", "是", "一个", "测试"]
for i in range (len(list1)):
    print i ,list1[i]
 
 
  • 1
  • 2
  • 3
  • 上述方法有些累赘,利用enumerate()会更加直接和优美:
list1 = ["这", "是", "一个", "测试"]
for index, item in enumerate(list1):
    print index, item
>>>
012 一个
3 测试
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • enumerate还可以接收第二个参数,用于指定索引起始值,如:
list1 = ["这", "是", "一个", "测试"]
for index, item in enumerate(list1, 1):
    print index, item
>>>
123 一个
4 测试
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

补充

如果要统计文件的行数,可以这样写:

count = len(open(filepath, 'r').readlines())
 
 
  • 1

这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

可以利用enumerate():

count = 0 

for index, line in enumerate(open(filepath,'r')):  

    count += 1
 
 
  • 1
  • 2
  • 3




  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,enumerate()是一个内置函数,适用于Python 2.x和Python 3.x版本。它用于在可遍历或可迭代的对象(如列表、字符串)上进行枚举或列举操作。enumerate()函数的参数是可遍历的对象,它返回一个enumerate对象。 在for循环中使用enumerate()函数可以同时获取索引和值,这在需要同时获取索引和值的情况下非常有用。比如,你可以使用enumerate()函数来遍历一个列表并获取每个元素的索引和值。 下面是一个使用enumerate()函数的示例代码: ``` a = [1, 2, 3, 4, 5] for index, value in enumerate(a): print(index, value) ``` 输出结果: ``` 0 1 1 2 2 3 3 4 4 5 ``` 在这个示例中,我们使用enumerate()函数遍历列表a,并将每个元素的索引赋值给变量index,将每个元素的值赋值给变量value。然后,我们打印出索引和值。 除了在for循环中使用之外,你还可以将enumerate()函数的结果转换为字典,以便更方便地使用。下面是一个示例代码: ``` list = ['zky', 'cww', 'lj', 'lmq'] list = dict((item, index) for index, item in enumerate(list)) print(list) ``` 输出结果: ``` {'zky': 0, 'cww': 1, 'lj': 2, 'lmq': 3} ``` 在这个示例中,我们使用enumerate()函数遍历列表list,并将每个元素的索引和值作为键值对存储在字典中。最后,我们打印出这个字典。 总结来说,enumerate()函数可以用于在for循环中获取索引和值,并且还可以将其转换为字典以方便使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值