Python序列函数有哪些?这5个高频函数是重中之重,总算搞明白了


1. filter()函数
1.1 案例如下:
def fun(x):
if x%2==0:
return x
print(list(filter(fun,range(50))))
1.2 输出函数:print(list(filter(fun,range(50))))
1.3 输出结果:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28]
1.4 解析说明:对序列过滤处理,可以使用一个自定义的函数,过滤一个序列,把序列里的每一项传到自定义的过滤函数里处理,并返回使函数为true的结果集。

2. zip()函数
2.1 例如:name = ['a','b','c'],id = [1,2,3]
2.2 输出函数:print(list(zip(name,id)))
2.3 输出结果:[('k', 1), ('i', 2), ('t', 3)]
2.4 解析说明:接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表

3. map() 函数
3.1 案例一:
a = [1,2,3]
b = [4,5,6]
def fun(x,y):
return x,y
print(list(map(fun,a,b)))
3.2 输出结果:[(1, 4), (2, 5), (3, 6)]
3.3 案例二:
def fun(x,y):
return x+y
l1 =[1,2,3,4,5]
l2 =[1,2,3,4,5]
print(list(map(fun,l1,l2)))
3.4 输出结果:[2, 4, 6, 8, 10]

3.1 案例三:
l1 =[1,2,3,4,5]
l2 =[1,2,3,4,5]
print(list(map(lambda x,y:x+y,l1,l2)))
3.6 输出结果:[2, 4, 6, 8, 10]
总结:将函数调用映射到每个序列对应元素上并返回一个含有所有返回值的列表。

4. reduce() 函数
4.1 案例一:
from functools import reduce
def fun(x,y):
return x+y
print(reduce(fun,range(1,101)))
4.2 输出结果:5050
4.3 案例二:
from functools import reduce
print(reduce(lambda x,y:x+y,range(1,101)))
4.4 输出结果:5050
总结:reduce函数会对参数序列中元素进行累积。

5. random函数
案例:
import random#随机值
print(random.uniform(1,5))
输出结果:3.094379799842668
解析说明:随机生成1到5的小数
print(random.randint(1,10))
输出结果:1
解析说明:随机生成1~10之间的整数。
print(random.randrange(1,12,2))#随机生成1到12的奇数
输出结果:11
总结:本章节主要与大家分享Python常用的5个序列处理高频函数,分别为:filter()、zip()、map()、reduce()、random等5个序列函数,测试人员平时在设计自动化测试框架做数据的处理时经常会使用到,希望大家能够灵活掌握结合项目实践应用。