學習python的心酸歷程----內建函式
阿新 • • 發佈:2021-12-09
內建函式
range() 函式
range(start, stop, step)
function: 能夠生成一個指定的數字序列
引數: start:開始的值(如果該值未提供預設為0)
stop:結束的值
step:可選,步進值(如果該值未提供預設為1)
list(range(3))
會返回列表 [0, 1, 2]
。
#使用list函式 re = range(5, 10) print(list(re)) 5, 6, 7, 8, 9 #使用for迴圈 re = range(0, 10, 3) for i in re: print(i) 0, 3, 6, 9 #轉為迭代器next使用 re = range(-10, -100, -30) r = iter(re) print(next(r)) #迭代器取一個少一個 -10, -40, -70
zip函式
建立一個聚合了來自每個可迭代物件中的元素的迭代器。
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zip(x, y))
>>> x == list(x2) and y == list(y2)
True
sorted() 函式
sorted(iterable, reverse, key)
function:排序
parameter: iterable: 可迭代的資料 (容器型別資料, range資料序列, 迭代器)
reverse: 可選,是否翻轉,預設為False,不翻轉,Ture翻轉
key: 可選,函式, 可以是自定義函式, 可以是內建函式
:retion: 排序後的結果
>>arr = [3,7,1,-9,20,10] >>res = sorted(arr)#從小到大 >>print(res) [-9,1,3,7,10,20] >>res = sorted(arr, reverse = Ture)#從大到小 >>print(res) [20,10,7,3,1,-9] >>res = sorted(arr, reverse = Ture, key = abs)#使用內建函式abs(求絕對值)作為key的引數 >>print(res) [20,10,-9,7,3,1] >>arr = [3,2,4,6,5,7,9] >>res = sorted(arr, key = lsmbda x:x%2)#使用自定義函式作為key的引數 >>print(res) [2,4,6,3,5,7,9]
map()函式
map(func, *iterables)
function:對傳入的可迭代資料每個元素進行處理,返回一個新的迭代器
parameter: func : 函式|內建函式
*iterables : 可迭代的資料
return:迭代器
>>varlist = ['1','2','3','4']
>>newlist = []
>>for i in varlist:
>> newlist.append(int(i))
>>print(newlist)
[1,2,3,4]
>>varlist = ['1','2','3','4']
>>res = map(str,varlist)
>>print(list(res))
[1,2,3,4]
reduce()函式
reduce(func, ietrable)
function : 過濾資料,把ietrable中每一個元素拿到func函式中進行處理,如果函式返回 Ture則保留這個資料返回False則丟棄這個資料
parameter : func:自定義函式
ietrable : 可迭代資料
return : 保留下來的資料組成迭代器
>>varlist = [1,2,3,4,5,6,7,8,9]
#普通方法
>>newlist = []
>>for i in varlist:
>> if i%2 ==0:
>> newlist.append(i)
>>print(newlist)
#使用filter進行處理
>>def myfunc(n):
>> if n%2 ==0:
>> return True
>>` else:
>> return False
>>it = filter(myfunc, varlist)
>>print(it, list(it))
>>#優化版
>>it = filter(lambda n:True if n % 2 == 0 else False, varlist)
>>print(it, list(it))
其他內建函式
資料型別轉換相關函式
- int() 將其他資料型別轉化為整形
- float() 將其他資料型別轉化為浮點型
- bool() 轉為布林型別
- complex() 轉為複數型別
- str() 轉為字串型別
- list() 轉為列表型別
- tuple() 轉為元祖型別
- dict() 轉為字典型別
- set() 轉為集合型別
變數相關函式
- id() 獲取當前ID的標識
- type() 獲取當前資料的型別字串
- print() 資料的列印
- input() 獲取輸入的資料
- isinstance() 檢測是否為指定的資料型別
數學相關函式
- abs() 返回一個數的絕對值,
- sum() 返回一個數的和
- max() 返回最大值
- min() 返回最小值
- pow() 冪函式 print(pow(2,3)) #求2的3次方
- round() 四捨五入