跟随up主小甲鱼学习Python-序列篇下

Posted 超级可爱的夹心小朋友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟随up主小甲鱼学习Python-序列篇下相关的知识,希望对你有一定的参考价值。

all() & any() all()判断可迭代对象中是否所有元素的值都为真,any()判断可迭代对象中是否存在某个元素为真。

>>> x = [1, 0, 2]
>>> y = [1, 1, 9]
>>> all x
SyntaxError: invalid syntax
>>> all(x)
False
>>> all(y)
True
>>> any(x)
True

enumerate() 函数用于返回一个枚举对象,功能就是将可迭代对象中的每个元素及从0开始的序列号共同构成一个二元组的列表。

>>> seasons = ["Spring", "Summer", "Fall", "Winter"]
>>> enumerate(seasons)
<enumerate object at 0x0000020F53FA4D80>
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, 10))
[(10, 'Spring'), (11, 'Summer'), (12, 'Fall'), (13, 'Winter')]

zip()函数用于创建一个聚合多个可迭代对象的迭代器,它会将作为参数传入的每一个可迭代对象的每一个元素依次组合成元组,即第i个元组包含来自每一个参数的第i个元素。

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]
>>> z = [7, 8, 9]
>>> zipped = zip(x, y, z)
>>> list(zipped)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

如果长度不一致,选取最短的可迭代对象终止,其余抛弃
>>> z = "FishC"    
>>> zipped = zip(x, y, z)
>>> list(zipped)
[(1, 4, 'F'), (2, 5, 'i'), (3, 6, 's')]

如果不想要丢弃,可以引入 itertools模块中的zip_longest()函数,没有的用None补全
>>> import itertools
>>> zipped = itertools.zip_longest(x, y, z)
>>> list(zipped)
[(1, 4, 'F'), (2, 5, 'i'), (3, 6, 's'), (None, None, 'h'), (None, None, 'C')] 

map() 函数会根据提供的函数对指定的可迭代对象的每一个元素进行运算,并将返回运算结果的迭代器。ord函数作用是将字符串转换成对应的编码值,pow函数是计算次方的。若长度不一样,都是在最短的可迭代对象终止的时候结束这个操作。

>>> mapped = map(ord, "FishC")
>>> list(mapped)
[70, 105, 115, 104, 67]
>>> mapped = map(pow, [3, 4, 6], [2, 1, 5])
>>> list(mapped)
[9, 4, 7776]
>>> mapped = map(pow, [2, 3, 10], [5, 2, 3])
>>> list(mapped)
[32, 9, 1000]

filter()函数会根据提供的函数对指定的可迭代对象的每一个元素进行运算,并将运算结果为正的元素,以迭代器的形式返回。

>>> list(filter(str.islower, "FishC"))
['i', 's', 'h']

以上是关于跟随up主小甲鱼学习Python-序列篇下的主要内容,如果未能解决你的问题,请参考以下文章

Python零基础学习-跟随up主小甲鱼

跟随小甲鱼up主学习Python 序列上中篇

跟随小甲鱼up主学习Python 序列上中篇

跟随小甲鱼up主学习Python——函数篇

跟随小甲鱼up主学习Python——函数篇

跟随小甲鱼up主学习Python——函数篇