-
切片:
L[0:n]
:表示取第0到n个,但不包括第n个(0可以省略简写为L[:n]
)L[0:n:k]
:表示从0开始,每间隔k个取一次值,直到n(同样边界不包括n)L[-1:]
:表示取最后一个,而L[-1:X]
:(X表示任意值)只表示空list
,意思为最后一个到最后,当然没有值了
-
迭代:
- 判断一个对象是否是可迭代对象:通过
collections
模块的Iterable
进行类型判断 - 对
list
实现下标循环可用enuemrate
函数将其变为索引-元素对,start参数设置下标开始号 - 迭代基本方法:
for ... in ...
- 判断一个对象是否是可迭代对象:通过
-
生成器:
- 将
list
的[]
变为()
就转变为了生成器 - 一个函数中包含
yield
关键字,函数转变为生成器。运用时,yield
为一个节点,就像return
一样. - 用
for
循环时,想要拿到return
的值,必须捕获StopIteration
错误,其值在StopIteration
的value
中,注意要导入模块form collection import Iterator
- 将
-
迭代器:
list
,dic
,set
是Iterable
而不是Iterator
,但可通过iter()
函数将其变成Iterator
Iterator
是惰性计算,需要值的时候才计算出来
-
map()和reduce():
- map:第一个参数为函数,第二个参数为
Iterable
,得到的结果为Iterator
- reduce:需要引入模块
from functools import reduce
。传入两个参数,第一个参数为函数,第二个参数为序列,把结果继续和序列的下一个元素做累计计算
- map:第一个参数为函数,第二个参数为
Python知识整合(三)
最新推荐文章于 2024-05-28 00:51:32 发布