博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python】内置函数 enumerate
阅读量:6432 次
发布时间:2019-06-23

本文共 765 字,大约阅读时间需要 2 分钟。

介绍
在解析mysqlbinlog dump出来的binlog的时候学习了一个函数 --enumerate。官方的定义如下:
  1. def enumerate(collection,N=0):
  2.     'Generates an indexed series: (0,coll[0]), (1,coll[1]) ...'
  3.     i = N
  4.     it = iter(collection)
  5.     while 1:
  6.         yield (i, it.next())
  7.         i += 1
N 是索引起始值 比如 enumerate(list,2) 索引是从2 开始。
通常我们需要遍历序列如 字符串,字典,列表,也要遍历其索引时,我们会使用for 循环来解决 
  1. for i in range (0,len(list)):
  2.        print i ,list[i]
使用内置enumerrate函数会有更加直接,优美的做法
  1. for idx,name in enumerate(list)):
  2.     print idx,name
如何使用该函数
  1. #coding=utf-8
    List = ['a', 'b', 'c']
    print (list(enumerate(List)))
    Tuple = ('youzan', 'SAAS', 'work','Mac')
    print(list(enumerate(Tuple)))
    Dict = {"city":"HANGZHOU", 'company':"youzan", 'dba':'yangyi'}
    print(list(enumerate(Dict, 2)))
    Str = 'YOUZAN!'
    print(list(enumerate(Str, 1)))
运行结果
注意 Dict 和Str 使用 enmerate 函数的起始值分别从2  1 开始的。

转载地址:http://dtaga.baihongyu.com/

你可能感兴趣的文章
强不强?能在多种前端框架下使用的表格控件
查看>>
Mysql必知必会(4):使用正则表达式搜索(REGEXP)
查看>>
为什么Oracle公开嫌弃自家产品MySQL?
查看>>
IntelliJ IDEA 2017.2发布:更智能,更利落,更快速
查看>>
《码出高效:Java开发手册》背后的故事
查看>>
Firefox 50优化Electrolysis
查看>>
在首次发布三周之后,MLflow迎来了0.2版本
查看>>
Azure中继摆脱了WCF的桎梏,走向跨平台
查看>>
RPC框架的可靠性设计
查看>>
使用自选择创建团队
查看>>
基准测试(Benchmarks)不必消亡
查看>>
超百万观众同场看直播秒开不卡顿,快手是如何做到的?|首次披露
查看>>
ceph 常用命令记录(完善中...)
查看>>
Typesafe公司正式更名为Lightbend公司
查看>>
用户吐槽:Azure DevOps CI 体验太差
查看>>
微服务之旅的经验分享
查看>>
C# 7.3新特性一览
查看>>
刚刚,阿里发布AI谣言粉碎机,识别准确率达81%
查看>>
准备好了?测试人员迟早会被要求测试包含区块链技术的解决方案
查看>>
IntelliJ IDEA宣布对Java 9的支持情况
查看>>