日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python内置函数教程

發布時間:2025/3/20 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python内置函数教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 .filter(function, sequence):

對sequence中的item依次執行function(item),將執行結果為True的item做成一個filter object的迭代器返回。可以看作是過濾函數。

str = ['a', 'b','c', 'd']def fun1(s):if s != 'a':return sret = filter(fun1, str)print(list(ret))# ret是一個迭代器對象

2.map(function, sequence)

map()函數,可以將一個函數映射到一個可以枚舉類型上面。對sequence中的item依次執行function(item),將執行結果組成一個List返回

另外map也支持多個sequence,當然這也要求function支持相應數量的參數輸入。

str = ['a', 'b','c','d']def fun2(s):return s + "alvin"ret = map(fun2, str)print(ret) # map object的迭代器 print(list(ret))# ['aalvin', 'balvin', 'calvin', 'dalvin'] >>> def cube(x): return x*x*x >>> map(cube, range(1, 11)) [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000] >>> def cube(x) : return x + x>>> def add(x, y): return x+y >>> map(add, range(8), range(8)) [0, 2, 4, 6, 8, 10, 12, 14]

對sequence中的item依次執行function(item),將執行結果組成一個map object迭代器返回.
map也支持多個sequence,這就要求function也支持相應數量的參數輸入:

def add(x,y):return x+y print (list(map(add, range(10), range(10)))) ##[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

3.reduce(function, sequence, starting_value)

對sequence中的item順序迭代調用function,如果有starting_value,還可以作為初始值調用.

from functools import reducedef add1(x,y):return x + yprint (reduce(add1, range(1, 101)))## 4950 (注:1+2+...+99)print (reduce(add1, range(1, 101), 20))## 4970 (注:1+2+...+99+20)

對sequence中的item順序迭代調用function,如果有starting_value,還可以作為初始值調用,例如可以用來對List求和,示例如下:

>>> def add(x,y): return x + y>>> reduce(add, range(1, 11)) (注:1+2+3+4+5+6+7+8+9+10>>> reduce(add, range(1, 11), 20) (注:1+2+3+4+5+6+7+8+9+10+20

4.lambda

它允許你快速定義單行的最小函數(其本質就是函數),類似C語言中的宏,可以用在任何需要函數的地方,示例如下:

>>> g = lambda x: x * 2 >>> g(3) 6 >>> (lambda x: x * 2)(3) 6

普通函數與匿名函數的對比:

#普通函數 def add(a,b):return a + bprint add(2,3)#匿名函數 add = lambda a,b : a + b print add(2,3)#========輸出=========== 5 5

匿名函數的命名規則,用lamdba 關鍵字標識,冒號(:)左側表示函數接收的參數(a,b) ,冒號(:)右側表示函數的返回值(a+b)。

因為lamdba在創建時不需要命名,所以,叫匿名函數

5.int64和int的區別?

int是Python的基本類型,而int64是numpy中引入的一個類,即numpy.int64;

使用numpy模塊中的numpy.sum()方法得到的結果是Int64,而使用默認的sum()得到的結果是Int類型。

下面代碼中,雖然執行結果a和b的數值都是6,但是類型不同。

import numpy as np# a 的類型是int64a = np.sum([1,2,3])# b 的類型是intb = sum([1,2,3])

int64不會報除0的錯誤(事實上numpy中的其他類型也不會報錯,比如float64等);而int會報除0錯誤(其他基本類型也會,比如float等)

6.sorted函數

對sequence進行排序,直接看例子:

>>> s = [('a', 3), ('b', 2), ('c', 1)]>>> sorted(s, key=lambda x:x[1]) s = [('a', 3), ('b', 2), ('c', 1)]

更多例子:

''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:725638078 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>> l = ['foo', 'bar', 'far'] >>> map(lambda x: x.upper(), l) ['FOO', 'BAR', 'FAR'] >>> filter(lambda x: 'f' in x, l) ['foo', 'far'] >>> map(lambda x: x.upper(), filter(lambda x: 'f' in x, l)) ['FOO', 'FAR'] >>> reduce(lambda a, b: a * b, xrange(1, 5)) # 計算 1*2*3*4 = 24 24

7.序列解包(for x,y in zip(keys,values):)詳解

序列解包是一個非常重要和常用的一個功能,使用序列解包可以用非常簡潔的方法完成復雜的功能。增強代碼的可讀性,減少代碼量。

zip函數接受多個(包括0個和1個)序列作為參數,返回一個tuple列表。

(1 使用序列解包對多個變量同時進行賦值

a, b, c = 1, 2, 3 print(a, b, c)test_tuple = (False, 3.5, 'test') d, e, f = test_tuple print(d, e, f)x, y, z = map(str, range(3))print(x, y, z)

輸出結果為:

1 2 3 False 3.5 test 0 1 2

(2 序列解包也可以用于列表和字典

字典的話默認是對“key” 進行操作,如需對“key”----“value” 進行操作則需要使用字典的items()方法進行操作。“value” 進行操作的話就使用values進行操作。

#列表進行解包 a = [1, 2, 3, 5, 6] b, c, d, f, g = a print(b, c, d, f, g)print('---------------------------')#字典進行解包 test_dicts = {'a': 'x', 'b': 1, 'c': 3}q, w, e = test_dicts r, t, y = test_dicts.items() i, o, p = test_dicts.values()print(q, w, e) print(r, y, t) print(i, o, p)

輸出結果:

1 2 3 5 6 --------------------------- a b c ('a', 'x') ('c', 3) ('b', 1) x 1 3

(3 用序列解包同時遍歷多個序列

list_1 = [1, 2, 3, 4] list_2 = ['a', 'b', 'c']for x, y in zip(list_1, list_2):print(x, y)

結果:

1 a 2 b 3 c

(4 Python3.x和Python2.x在zip函數的區別

x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] #注意:Python3.x和Python2.x這里的差別 #Python3.x xyz = list(zip(x, y, z)) #Python2.x #xyz = zip(x, y, z) print(xyz) #輸出結果:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!

Python基礎入門教程推薦:←點擊左邊藍色文字就可以跳轉觀看了

Python爬蟲案例教程推薦:←點擊左邊藍色文字就可以跳轉觀看了

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Python内置函数教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。