专业编程基础技术教程

网站首页 > 基础教程 正文

Python——内置函数对Python序列的操作(十七)

ccvgpt 2024-11-15 16:40:58 基础教程 8 ℃

max()、min()函数用于返回迭代对象中所有元素的最大值和最小值,

>>> a='1,2,3,4'
>>> max(a)              #max 返回了最大值
'4'
>>> a=[1,2,3,4]
>>> max(a)              #max函数也返回了最大值
4
>>> a=[(1,2),(2,3),(3,4)]                #假设列表里面是元组构成元素呢
>>> max(a)                                     #按照元素里面元组的第一个元素的排列顺序,输出最大值(如果第一个元素相同,则比较第二个元素,输出最大值)据推理是按ascii码进行排序的
(3, 4)
>>> a=[('a',1),('A',1)]                     #实验推测是按ascii码进行排序,比较  a  和   A 的值,得出a > A   ,  因为ascii 码里面,按照排列顺序 小 a在 A的后面
>>> max(a)
('a', 1)

sum()函数用于返回列表中所有元素之和;

Python——内置函数对Python序列的操作(十七)

>>>sum([0,1,2])  
3  
>>> sum((2, 3, 4), 1)        # 元组计算总和后再加 1
10
>>> sum([0,1,2,3,4], 2)      # 列表计算总和后再加 2
12

len()函数用于返回序列中元素个数

zip()函数用于将多个序列中元素重新组合为元组并返回包含这些元组的zip对象;

str = "runoob"
print( len(str) )          # 字符串长度
 
l = [1,2,3,4,5]
print( len(l) )            # 列表元素个数


>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 返回一个对象
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped)  # list() 转换为列表
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c))              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]

>>> a1, a2 = zip(*zip(a,b))          # 与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式
>>> list(a1)
[1, 2, 3]
>>> list(a2)
[4, 5, 6]

enumerate()函数返回包含若干下标和值的迭代对象;

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

map()函数把函数映射到列表上的每个元素,filter()函数根据指定函数的返回值对列表元素进行过滤;

map(function, iterable, ...)
map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

all()函数用来测试Python迭代对象中是否所有元素都等价于True,any()用来测试迭代对象中是否有等价于True的元素。

>>> all(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd'])   # 列表list,存在一个为空的元素
False
>>> all([0, 1,2, 3])          # 列表list,存在一个为0的元素
False   
>>> all(('a', 'b', 'c', 'd'))  # 元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd'))   # 元组tuple,存在一个为空的元素
False
>>> all((0, 1, 2, 3))          # 元组tuple,存在一个为0的元素
False
>>> all([])             # 空列表
True



>>>any(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True
 
>>> any(['a', 'b', '', 'd'])   # 列表list,存在一个为空的元素
True
 
>>> any([0, '', False])        # 列表list,元素全为0,'',false
False
 
>>> any(('a', 'b', 'c', 'd'))  # 元组tuple,元素都不为空或0
True
 
>>> any(('a', 'b', '', 'd'))   # 元组tuple,存在一个为空的元素
True

reduce() 函数会对参数序列中元素进行累积。函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

from functools import reduce
sum = reduce(lambda x, y: x+y, [1,2,3,4,5])  # 使用 lambda 匿名函数
print(sum)

最近发表
标签列表