1、列表推导

1
2
3
4
5
6
7
8
9
10
11
numbers = [i for i in range(10) if i % 2 == 0]
print(numbers)
 
seq = ["one", "two", "three"]
for i, element in enumerate(seq):
    print(i, element)
 
def treatment(pos, element):
    return ('%d: %s' % (pos, element))
 
print ([treatment(i, element) for i, element in enumerate(seq)])
1
2
3
4
5
6
enumerate(sequence, [start=0])
 
Return an enumerate object.
sequence must be a sequence, an iterator, or some other object which supports iteration.
The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults to 0) and the corresponding value obtained from iterating over iterable.
enumerate() is useful for obtaining an indexed series: (0, seq[0]), (1, seq[1]), (2,seq[2]), ....

2、迭代器

1
2
3
4
5
6
7
8
9
10
11
12
13
class MyIterator(object):
    def __init__(self, step):
        self.step = step
    def __next__(self): # 3.0之后一般采用该样式
        if self.step == 0:
            raise StopIteration
        self.step -= 1
        return self.step
    def __iter__(self):
        return self
 
for i in MyIterator(5):
    print(i)

3、生成器

1
2
3
4
5
6
7
8
9
def fibonacci():
    a, b = 0, 1
    while True:
        yield b
        a, b = b, a + b
fib = fibonacci()
print([next(fib) for i in range(10)]) # >=python 3.0
print(fib.__next__() for i in range(10)]) # >=python 3.0
print(fib.next() for i in range(10)]) # <python 3.0

Python 列表推导、迭代器与生成器的更多相关文章

  1. python(列表推导式和生成器表达式)

    从母鸡下蛋的故事讲起 老母鸡 = ('鸡蛋%s'%i for i in range(10)) print(老母鸡) for 蛋 in 老母鸡: print(蛋) g = (i*i for i in r ...

  2. python之三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(r ...

  3. python基础知识15---三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    阅读目录 一 三元表达式.列表推导式.生成器表达式 二 递归与二分法 三 匿名函数 四 内置函数 五 阶段性练习 一. 三元表达式.列表推导式.生成器表达式 1 三元表达式 name=input('姓 ...

  4. Python_迭代器、生成器、列表推导式,生成器表达式

    1.迭代器 (1)可迭代对象 s1 = ' for i in s1: print(i) 可迭代对象 示例结果: D:\Python36\python.exe "E:/Python/课堂视频/ ...

  5. Python进阶(四)----生成器、列表推导式、生成器推导式、匿名函数和内置函数

    Python进阶(四)----生成器.列表推导式.生成器推导式.匿名函数和内置函数 一丶生成器 本质: ​ 就是迭代器 生成器产生的方式: ​ 1.生成器函数

  6. python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    http://www.cnblogs.com/linhaifeng/articles/7580830.html 三元表达式.列表推导式.生成器表达式.递归.匿名函数.内置函数

  7. python 三元表达式、列表推导式、生成器表达式

    一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='mm' if name == 'hahah' else 'NB' print( ...

  8. Python基础之迭代器和生成器

    阅读目录 楔子 python中的for循环 可迭代协议 迭代器协议 为什么要有for循环 初识生成器 生成器函数 列表推导式和生成器表达式 本章小结 生成器相关的面试题 返回顶部 楔子 假如我现在有一 ...

  9. Python之推导式、生成器表达式

    l = [i for i in range(10)] print(l) l1 = ['选项%s'%i for i in range(10)] print(l1) 1.把列表解析的[]换成()得到的就是 ...

  10. 【Python基础】迭代器、生成器

    迭代器和生成器 迭代器 一 .迭代的概念 #迭代器即迭代的工具,那什么是迭代呢? #迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单 ...

随机推荐

  1. 权限管理-ACL

    权限管理-ACL 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ACL权限简介与开启 1.ACL权限简介 比如在根下有一个目录(”/yinzhengjie“),这个目录的所有者 ...

  2. Spark记录-SparkSQL远程操作MySQL和ORACLE

    1.项目引入mysql和oracle驱动 2.将mysql和oracle驱动上传到hdfs 3.远程调试源代码如下: import org.apache.spark.sql.SQLContext im ...

  3. Study 2 —— 格式化输出

    打印人物信息的两种方法第一种: Name = input('Input your name: ') Age = input('Input your age: ') Job = input('Input ...

  4. 从数据库中修改zabbix的验证方式 0 内置 1 LDAP 2 HTTP

    MariaDB [zabbix]> select authentication_type from config ; +---------------------+ | authenticati ...

  5. [译]Quartz.NET 框架 教程(中文版)2.2.x 之第七课 触发监听器和作业任务监听器

    第七课:触发监听器和作业任务监听器 监听器是在调度器中基于事件机制执行操作的对象.你大概可以猜到,触发监听器接收响应跟触发器有关的事件,作业任务监听器接收响应跟作业任务有关的事件. 跟触发器有关的事件 ...

  6. C# unicode 转中文

    //Unicode 转中文 private void button1_Click(object sender, EventArgs e) { string unicode = @"\U5fa ...

  7. Postfix 邮件服务 - 邮箱组件 cyrus-sasl

    cyrus-sasl 简单认证安全层, SASL主要是用于SMTP认证.cyrus-sasl(Simple Authentication Security Layer)简单认证安全层, SASL主要是 ...

  8. 洛谷4718【模板】Pollard-Rho算法

    传送门 Description: 给定T个数,分别求出它们的最大质因数 Solution: 其实大概框架是很容易想到的 对于一个数n 找到它的一个因数x 判断这个因数是不是质数 如果是质数就更新答案 ...

  9. Pytorch 各种奇葩古怪的使用方法

    h1 { counter-reset: h2counter; } h2 { counter-reset: h3counter; } h3 { counter-reset: h4counter; } h ...

  10. SpringMVC使用HttpInvoker发布远程服务

    参考这篇文章https://www.cnblogs.com/fanqisoft/p/10283156.html 将提供者配置类中的 1 @Bean 2 public HessianServiceExp ...