#!usr/bin/env python
#coding:utf-8
'''
enumerate()说明:
1、enumerate()是Python的内置函数;
2、enumerate字面上是枚举、列举的意思;
3、对于一个可迭代、可遍历的对象(列表、元组、字符串),enumerate将其组成一个索引序列,利用
它可以同时获得索引和值;
4、enumerate多用于for循环中得到计数;
5、注意:enumerate()返回的是enumerate对象; ''' '''
需求:给定一串数字01098040234,将非0的数字所处的位置及值进行打印输出;
'''
str1 = '01098040234'
def findNotZero(str):
return ((index,value) for index,value in enumerate(str) if value!='0') print(findNotZero(str1))

 5、注意:enumerate()返回的是enumerate对象--运行结果如下所示

<generator object findNotZero.<locals>.<genexpr> at 0x00000223A8416A98>
[Finished in 0.1s]
#!usr/bin/env python
#coding:utf-8
'''
enumerate()说明:
1、enumerate()是Python的内置函数;
2、enumerate字面上是枚举、列举的意思;
3、对于一个可迭代、可遍历的对象(列表、元组、字符串),enumerate将其组成一个索引序列,利用
它可以同时获得索引和值;
4、enumerate多用于for循环中得到计数;
5、注意:enumerate()返回的是enumerate对象; ''' '''
需求:给定一串数字01098040234,将非0的数字所处的位置及值进行打印输出;
'''
str1 = '01098040234'
def findNotZero(str):
return ((index,value) for index,value in enumerate(str) if value!='0') print(list(findNotZero(str1)))

运行结果:

[(1, '1'), (3, '9'), (4, '8'), (6, '4'), (8, '2'), (9, '3'), (10, '4')]
[Finished in 0.1s]

注意点:

1、enumerate()指定起始下标enumerate(str,1)

2、列表解析式:[expr for iter_var in iterable if cond_expr]

enumerate()的优势:

需求:给你一个列表[‘我’,‘是’,‘寒’,‘岳’];现在想要同时将每个列表元素的索引位置及值同时打印输出;

最直接的做法就是:

for i in range(len(list1)):
print (i,list1[i])

运行结果:

0 我
1 是
2 寒
3 岳
[Finished in 0.2s]

上述方法有些累赘,利用enumerate()会更加直接和优美:

list1 = ['我','是','寒','岳']
for index,value in enumerate(list1):
print(index,value)

运行结果:

0 我
1 是
2 寒
3 岳
[Finished in 0.1s]

enumerate() -- Python的更多相关文章

  1. python之enumerate

    http://eagletff.blog.163.com/blog/static/116350928201266111125832/一般情况下,如果要对一个列表或者数组既要遍历索引又要遍历元素时,可以 ...

  2. Python 基本数据类型(2)

    知识内容: 1.python对象模型 2.数字与bool 3.字符串 4.列表与元组 5.字典与集合 一.python对象模型 1.python对象模型 对象是python语言中最基本的概念,在pyt ...

  3. python内置函数详细介绍

    知识内容: 1.python内置函数简介 2.python内置函数详细介绍 一.python内置函数简介 python中有很多内置函数,实现了一些基本功能,内置函数的官方介绍文档:    https: ...

  4. python学习笔记06-enumerate()

    enumerate()   python 内置函数  枚举 列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumerate将其组成一个索引序列,利用它可以同时获得 ...

  5. How to create PDF files in a Python/Django application using ReportLab

    https://assist-software.net/blog/how-create-pdf-files-python-django-application-using-reportlab CONT ...

  6. 3.24 7.13 Python基础汇总

    对象类型 类型名称 示例 简要说明 备注 数字 int,float,complex 1234,3.14,1.3e5,3+4j 数字大小没有限制 十六进制用0x前缀和0-9,a-f表示 字符串 str ...

  7. 8个最常用的Python内置函数,小白必备!

    题图:Photo by Markus Spiske on Unsplash Python给我们内置了大量功能函数,官方文档上列出了69个,有些是我们是平时开发中经常遇到的,也有一些函数很少被用到,这里 ...

  8. enumerate用法总结-Python 3

    enumerate()说明 enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enum ...

  9. python中enumerate()的用法

    先出一个题目:1.有一 list= [1, 2, 3, 4, 5, 6]  请打印输出:0, 1 1, 2 2, 3 3, 4 4, 5 5, 6 打印输出, 2.将 list 倒序成 [6, 5, ...

随机推荐

  1. DG主备切换遇到not allwod或者RESOLVABLE GAP解决办法

    今天做switchover,环境是11.2.0.3+OEL5.7,开始时主备库状态都是正常的,符合直接切换条件: 主库: SQL> select open_mode,database_role, ...

  2. LeetCode202. 快乐数

    题目 编写一个算法来判断一个数 n 是不是快乐数. 快乐数定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1, 也可能是 无限循环 但始终变不到 ...

  3. CVE-2020-0796复现

    今天整理资料时发现了之前存的一个cve漏洞复现过程,当时打算跟着复现来着,后来也没去复现,今天刚好有时间,所以来复现一下这个漏洞 漏洞讲解 https://www.freebuf.com/vuls/2 ...

  4. 【九阳神功】Nessus 8_VM不限IP及AWVS破解版合体部署

    Nessus 8下载地址: https://moehu-my.sharepoint.com/personal/ximcx_moebi_org/_layouts/15/download.aspx?Sou ...

  5. oracle绑定变量测试及性能对比

    1.创建测试数据 2.查看cursor_sharing的值 SQL> show parameter cursor_sharing; NAME TYPE VALUE --------------- ...

  6. linux下的命令自动补齐增强

    linux 7 下 安装 bash-completion 可以实现命令的参数的自动补齐

  7. InnoDB的主键选择与插入优化

    索引的存放方式MyISAM和InnoDB存储引擎在MySQL中,不同存储引擎对索引的实现方式是不同的,总结下MyISAM和InnoDB两个存储引擎的索引实现方式.MyISAM引擎使用B+Tree作为索 ...

  8. Hive常用性能优化方法实践全面总结

    Apache Hive作为处理大数据量的大数据领域数据建设核心工具,数据量往往不是影响Hive执行效率的核心因素,数据倾斜.job数分配的不合理.磁盘或网络I/O过高.MapReduce配置的不合理等 ...

  9. 面试必问:如何实现Redis分布式锁

    摘要:今天我们来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理. 一.写在前面 现在面试,一般都会聊聊分布式系统这块的东西.通常面试官都会从服务框架(Spring Cloud.Dubb ...

  10. Wi-Fi IoT套件连PCF8563实现电子钟功能

    首先跟同样新入手单片机开发的小伙伴分享一点I2C通信的知识.我估计大部分入手开发板的小伙伴都有一定程序开发的能力,但是底层开发可能是新接触,我看有的小伙伴配置开发环境都有障碍,其实并不是多复杂,只是首 ...