一 內置函數
- 導入:import builtins
1.1 查看內置函數
- 大寫字母開頭的一般是內置變量
- 小寫的一般是內置函數
import builtins
print(dir(builtins))
1.2 abs() 求絕對值
- print(abs(-10))
1.3 sum()求和
-
不能直接用純數字,因為不是可迭代對象
-
運算時只要一個是浮點數,結果就是浮點數
print(sum([1,2,3,4,5,6,7]))
1.4 min()和max()
- 可以傳遞key,這樣會先機型key函數的計算
print(min(1,2,3,4,5,6,7))
print(max([1,2,3,4,5,6,7]))
print(min([-3,-5,7,2],key=abs)) # 先求絕對值
1.5 zip() 打包
-
?將可迭代對象作為參數,對應的元素打包成一個個元組
-
如果元素個數不一致,就按照長度最短的返回
1.5.1 遍歷包數據
- list1中的6,7就不會被打包進入
- 但是如果不轉換成list,一次遍歷zip數據后就會被消耗完畢,因為zip是一個迭代器
- 迭代器(iterator)是一次性使用的,一旦被遍歷過,那么被遍歷的地方就空了。
list1 = [1,2,3,4,5,6,7]
list2 = ['1','2','3','4','5']
zip1 = list(zip(list1,list2))
for i in zip1:print(i)
print(zip1)
1.6 map映射函數
-
參數: (自定義函數,可迭代對象)
-
對象中的每一個元素都會執行這個函數
list2 = ['1','2','3','4','5']
def func(x):return x + '5'
mapA = map(func,list2)
for i in mapA:print(i)
print(list(mapA))
1.7 reduce() 累積
-
先把對象中兩個元素去除,計算出一個值,然后和第三個值計算,依次到最后
-
reduce(functiom,sequence) 函數: 必須要有兩個參數的函數?? sequence: 序列(可迭代對象)
from functools import reduce
list1 = [1,2,3,4,5,6,7]
def add(x,y):return x + y
res = reduce(add,list1)
print(res)