打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python技巧:一个被忽略的内置枚举函数enumerate()!

在python的可序列化的数据处理中,我们经常性的会采用range()函数进行数据处理。

enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate()函数。

当然,同样的需求使用range()函数也可以实现,只是步骤会比较繁复,可以看下面的一组可序列化数据的处理比较。

# Creating a list of strings.
list_ = ['Java''Python''C''C++''C#''Scala''JavaScript']

使用range()函数处理索引和值

for index in range(len(list_)):
    value = list_[index]
    print('索引:{0},值:{1}'.format(index, value))

# 索引:0,值:Java
# 索引:1,值:Python
# 索引:2,值:C
# 索引:3,值:C++
# 索引:4,值:C#
# 索引:5,值:Scala
# 索引:6,值:JavaScript

使用enumerate()函数处理索引和值

for index, value in enumerate(list_):
    print('索引:{0},值:{1}'.format(index, value))

# 索引:0,值:Java
# 索引:1,值:Python
# 索引:2,值:C
# 索引:3,值:C++
# 索引:4,值:C#
# 索引:5,值:Scala
# 索引:6,值:JavaScript

根据上面的代码块结果得知,处理同样逻辑的序列化数据enumerate函数的方式确实比较简便一些。

此外,在处理序列化的数据时可以个性化的定义遍历索引的起始位置。

for index, value in enumerate(list_, start=3):
    print('索引:{0},值:{1}'.format(index, value))

# 索引:3,值:Java
# 索引:4,值:Python
# 索引:5,值:C
# 索引:6,值:C++
# 索引:7,值:C#
# 索引:8,值:Scala
# 索引:9,值:JavaScript

注意:这里我们来看一下被enumerate函数处理过的list_变成了什么?

# Printing the result of the enumerate function.
print('list_对象转换后结果:', enumerate(list_))

# list_对象转换后结果: <enumerate object at 0x00000176E63A9480>

若是正常情况下打印的list_应该是一个数据的列表,而这里则是被转换为enumerate管理了。

enumerate函数是支持所有序列化数据的,即列表、字典、字符串等等都是可以支持的。

并且enumerate本身作为python的内置函数自然有他强大的理由,方便我们使用,下面展示一下另外几种序列化数据的操作。

enumerate遍历字符串

# Creating a string object.
str_ = 'Python 集中营'

for index, value in enumerate(str_):
    print('索引:{0},值:{1}'.format(index, value))

# 索引:0,值:P
# 索引:1,值:y
# 索引:2,值:t
# 索引:3,值:h
# 索引:4,值:o
# 索引:5,值:n
# 索引:6,值:
# 索引:7,值:集
# 索引:8,值:中
# 索引:9,值:营

enumerate遍历字典

# Creating a dictionary object.
dict_ = {'name''Python 集中营','age'2,'表现''sss+'}

for index, key in enumerate(dict_):
    print('索引:{0},键:{1},值:{2}'.format(index, key, dict_[key]))

# 索引:0,键:name,值:Python 集中营
# 索引:1,键:age,值:2
# 索引:2,键:表现,值:sss+

有需要桌面应用定制化开发的小伙伴可以前往 [软件定制活动页了解详情!


点击上方卡片,免费领取网盘视频教程!

自动化办公:python文件分类器,一键完成杂乱无章的文件整理,已打包成exe可自行下载!

办公自动化:掌握这个python技巧,可自动生成PDF报告了!

python教你制作一个C盘清理器,几秒钟可完成系统盘的清理操作!

不使用html,只使用python就能创建完整的Web应用!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
python内置函数for循环使用range、enumerate
python循环zip与enumerate
什么是迭代/索引迭代/迭代dict的value/迭代dict的key和value
给妹子讲python-S01E13循环迭代高级技巧
联合迭代器与生成器,这个内置函数真香!
全面解析编写高质量Python代码的25个有效方法!代码是给人看的!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服