Python序列函數(shù)有哪些?這5個高頻函數(shù)是重中之重,總算搞明白了


1. filter()函數(shù)
1.1 案例如下:
def fun(x):
if x%2==0:
return x
print(list(filter(fun,range(50))))
1.2 輸出函數(shù):print(list(filter(fun,range(50))))
1.3 輸出結(jié)果:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28]
1.4 解析說明:對序列過濾處理,可以使用一個自定義的函數(shù),過濾一個序列,把序列里的每一項傳到自定義的過濾函數(shù)里處理,并返回使函數(shù)為true的結(jié)果集。

2. zip()函數(shù)
2.1 例如:name = ['a','b','c'],id = [1,2,3]
2.2 輸出函數(shù):print(list(zip(name,id)))
2.3 輸出結(jié)果:[('k', 1), ('i', 2), ('t', 3)]
2.4 解析說明:接受任意多個(包括0個和1個)序列作為參數(shù),返回一個tuple列表

3. map() 函數(shù)
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 輸出結(jié)果:[(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 輸出結(jié)果:[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 輸出結(jié)果:[2, 4, 6, 8, 10]
總結(jié):將函數(shù)調(diào)用映射到每個序列對應元素上并返回一個含有所有返回值的列表。

4. reduce() 函數(shù)
4.1 案例一:
from functools import reduce
def fun(x,y):
return x+y
print(reduce(fun,range(1,101)))
4.2 輸出結(jié)果:5050
4.3 案例二:
from functools import reduce
print(reduce(lambda x,y:x+y,range(1,101)))
4.4 輸出結(jié)果:5050
總結(jié):reduce函數(shù)會對參數(shù)序列中元素進行累積。

5. random函數(shù)
案例:
import random#隨機值
print(random.uniform(1,5))
輸出結(jié)果:3.094379799842668
解析說明:隨機生成1到5的小數(shù)
print(random.randint(1,10))
輸出結(jié)果:1
解析說明:隨機生成1~10之間的整數(shù)。
print(random.randrange(1,12,2))#隨機生成1到12的奇數(shù)
輸出結(jié)果:11
總結(jié):本章節(jié)主要與大家分享Python常用的5個序列處理高頻函數(shù),分別為:filter()、zip()、map()、reduce()、random等5個序列函數(shù),測試人員平時在設計自動化測試框架做數(shù)據(jù)的處理時經(jīng)常會使用到,希望大家能夠靈活掌握結(jié)合項目實踐應用。