首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python中enumerate函数的解释和可视化

重磅干货,第一时间送达

enumerate() 的作用

在许多情况下,我们需要在迭代数据对性(即我们可以循环的任何对象)时获取元素的索引。实现预期结果的一种方法是:

输出:

大多数C ++ / Java背景的开发人员都可能会选择上述实现,通过索引迭代数据对象的长度是他们熟悉的概念。但是,这种方法效率很低。我们可以使用enumerate()来实现:

enumerate()提供了强大的功能,例如,当您需要获取索引列表时,它会派上用场:

案例研究1:枚举字符串

字符串只是一个列表

为了更好地理解字符串枚举,我们可以将给定的字符串想象为单个字符(项)的集合。因此,枚举字符串将为我们提供:

1.字符的索引。2.字符的值。

输出:

案例研究2:列举列表

那么,我们应该如何列举一个列表呢?为了做到这一点,我们可以利用for循环并遍历每个项目的索引和值:

输出:

案例研究3:自定义起始索引

我们可以看到枚举从索引0开始,但是们经常需要更改起始位置,以实现更多的可定制性。值得庆幸的是,enumerate()还带有一个可选参数[start]

可以用来指示索引的起始位置,方法如下:

输出:

现在,修改上述代码:1.起始索引可以为负;2.省略start=则默认从0索引位置开始。

输出:

案例研究4:枚举元组

使用枚举元组遵循与枚举列表相同的逻辑:

输出:

案例研究5:枚举列表中的元组

让我们提高一个档次,将多个元组合并到一个列表中……我们要枚举此元组列表。一种做法的代码如下:

但是,元组拆包被证明是一种更有效的方法。比如:

输出:

案例研究6:枚举字典

枚举字典似乎类似于枚举字符串或列表,但事实并非如此,主要区别在于它们的顺序结构,即特定数据结构中元素的排序方式。

字典有些随意,因为它们的项的顺序是不可预测的。如果我们创建字典并打印它,我们将得到一种结果:

但是,如果打印此词典,则顺序可能会有所不同!

由于索引无法访问字典项,因此我们必须利用for循环来迭代字典的键和值。该key — value对称为item,因此我们可以使用.items()方法:

输出将是:

戳一下右下角在看,小小举动,大大支持~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200105A04PAE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券