Python学习手册(第4版).5

map是对原数组的加工,filter对原数组的过滤。用法相同接受一个函数和列表.

括号中的解析语法也可以用来创建产生所需结果的生成器(例如,内置的sum函数,按一种顺序汇总各项):

>>> G = (sum(row) for row in M)        # Create a generator of row sums

>>> next(G)

6

>>> next(G)                            # Run the iteration protocol

15

Next有两个参数,第一个参数表示要访问的可迭代的列表或者元组,第二个元素为访问完后显示的值,默认next从左到右依次访问,第一次返回第一个元素.

Python中的字典是完全不同的东西:它们不是序列,而是一种映射(mapping)。映射是一个其他对象的集合,但是它们是通过而不是相对位置来存储的。实际上,映射并没有任何可靠的从左至右的顺序。它们简单地将键映射到值。字典是Python核心对象集合中的唯一的一种映射类型,也具有可变性——可以就地改变,并可以随需求增大或减小,就像列表那样。

字典的索引操作使用的是和序列相同的语法,但是在方括号中的元素是键,而不是相对位置。

字典可以嵌套使用我懒得打字了,就不演示了

如果在一个字典的元素中,我们确实需要强调某种顺序的时候,应该怎样做呢?一个常用的解决办法就是通过字典的keys方法收集一个键的列表,使用列表的sort方法进行排序,然后使用Python的for循环逐个进行显示结果(正如第3章所介绍的,确保在循环的代码下面两次按下Enter键,交互提示模式中的一个空行意味着“执行”,某些接口中提示符是“…”):

>>> Ks = list(D.keys())  # Unordered keys list

>>> Ks  # A list in 2.6,"view" in 3.0: use list()

['a','c','b']

>>> Ks.sort()            # Sorted keys list

>>> Ks

['a','b','c']

>>> for key in Ks:       # Iterate though sorted keys

print(key,'=>',D[key]) # <== press Enter twice here

a => 1

b =>2

c=> 3

如果for循环看起来就像之前介绍的列表解析表达式一样,那也没错。它们都是真正的通用迭代工具。事实上,它们都能够工作于遵守迭代协议(这是Python中无处不在的一个概念,表示在内存中物理存储的序列,或一个在迭代操作情况下每次产生一个元素的对象)的任意对象。如果一个对象在响应next之前先用一个对象对iter内置函数做出响应,那么它属于后一种情况。我们在前面所见到的生成器解析表达式就是这样的一个对象。

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

现在记住,从左到右地扫描一个对象的每个Python工具都使用迭代协议。

(0)

相关推荐

  • Python学习之迭代器和生成器有什么不同?

    迭代器和生成器区别是什么?相信很多人在初学Python的时候对它们都很好奇,接下来我们一起来看看它们的区别吧. 迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己的本身 ...

  • 68个Python内置函数最全总结

    原创 菜鸟哥 菜鸟学Python 菜鸟哥是个资深Python爱好者,今天帮大家从10个方面总结了Python3.9版本下的68个内置函数,让大家一网打尽Python内置函数,一起来看看吧. 01.运算 ...

  • Python学习——for循环,生成器,迭代器详解

    文章目录 Python的for循环 for循环示例 List 列表循环 dict 字典循环 列表生成式 生成器 列表式生成器 函数式生成器 生成器式生产者消费者模型 迭代器 什么是迭代器 再论for循 ...

  • 用Python快速从深层嵌套 JSON 中找到特定的 Key

    在爬虫开发的过程中,我们经常遇到一些 Ajax 加载的接口会返回 JSON 数据.如下图所示,是 Twitter 的用户时间线接口,返回了一段3000多行的深层嵌套 JSON: 其中的cursor这个 ...

  • Python 学习手册第 4 版(附下载)

    如果有人问学习Python有什么书籍可以推荐,那么<Python 学习手册>再合适不过了.这本书的豆瓣评分高达 7.9 .非常适合初学者. 书籍简介 Python是一种简单的.解释型的.交 ...

  • Python学习手册(第4版).3

    建议:如果想要在IDLE的主窗口中重复前一条命令,可以使用Alt-P组合键回滚,找到命令行的历史记录,并用Alt-N向前寻找(在Mac上,可以试试使用Ctrl-P和Ctrl-N).之前的命令可以重新调 ...

  • Python学习手册(第4版).2

    先说坑,看懂为什么前面那么多没有运行出来吗? 这个是一段代码 原因很简单,这个代码是在缓存区呢,得Ctrl+S 平时是这样运行,其实代码直接从缓存区到右边得执行区.文本文件并不保存 重定向也正常~ 在 ...

  • Python学习手册(第4版).1

    装饰器就是一个给对象添加额外功能的函数,其本质是函数.它的基本构造:高阶函数+函数嵌套+闭包. 装饰器 即在代码运行期间动态增加功能的方式. 3大条件: 1. 函数可作为对象,赋值给变量,也就是函数可 ...

  • Python学习手册(第4版).4

    要表示字符串 Bob said "I'm OK". 由于 ' 和 " 会引起歧义,因此,我们在它前面插入一个\表示这是一个普通字符,不代表字符串的起始,因此,这个字符串又 ...

  • 听歌学地理 地理歌曲第四课《地形学习手册》版《青春修炼手册》

    听歌学地理 地理歌曲第四课《地形学习手册》版《青春修炼手册》

  • 新修订!《企业员工反三违手册(2021版)》,推荐学习!

    重要提醒 所有资料均有配套原版文件 扫描文末底部二维码入群可获取 点击链接: 实用!全10册<安全知识手册汇编>直接打印.直接用! [全套]2021安全生产月宣传视频.海报.手册.培训! ...

  • 可悲,副主任违章作业0.1秒当场死亡!《企业员工反三违手册(2020版)》,推荐学习!

    ▼ ABC安全防失联号-急事大观 培训大典 预案大典 制度大典 楼上的按钮里干货不一般,最少成百甚至上千! 正文 ▼    点击链接获取: 800+安全资料免费无条件领取! 1000+安全视频快速查询 ...

  • 最新《企业员工反三违手册(2020版)》,推荐学习!

    重要提醒 所有资料均有配套原版文件 扫描文末底部二维码入群可获取 违章操作等于自杀, 违章指挥等于杀人, 违章不纠等于帮凶, 在岗一分钟, 安全六十秒! 在工作之前一定要三问: 一是:问问自己这样做安 ...