Python學習第九課 匿名函式

2022-09-03 11:54:10 字數 2579 閱讀 4389

#

匿名函式

func = lambda x: x + 1 #

x表示引數 x+1表示處理邏輯

print(func(10)) #

輸出結果為11

#例:如何將name="hanhan" 改為 hanhan_shuai的形式

#普通函式寫法

name = "

hanhan

"def

change_name(x):

return name + '

_shuai

'res =change_name(name)

print(res) #

輸出結果 hanhan_shuai

#匿名函式寫法

fun = lambda x: x + '

_shuai

'print(fun(name)) #

輸出結果 hanhan_shuai

#匿名函式也可以返回多個值

f = lambda x, y, z: (x + 1, y + 1, z + 4)

print(f(1, 2, 3)) #

輸出結果 (2, 3, 7)

#

利用reduce函式完成列表中元素的累加

num = [1, 2, 3, 4, 5]

#用之前要先導入

from functools import

reduce

#reduce(function, sequence[, initial]) -> value

res = reduce(lambda x, y: x + y, num, 1) #

第乙個引數是函式

res1 = reduce(lambda x, y: x + y, num, 0) #

第二個是邏輯運算,第三個是起始值

res2 = reduce(lambda x, y: x + y, num) #

預設為0

print(res) #

輸出結果 16

print(res1) #

輸出結果 15

print(res2) #

輸出結果 15

#

例:將看電影列表人中過濾掉以『sb』結尾的名字,用filter實現。

#filter(function or none, iterable) --> filter object

movie_people = ['

alex_sb

', '

wupeiqi_sb

', '

linhaifeng

', '

yuanhao_sb']

li = filter(lambda n: not n.endswith('sb'

), movie_people)

print(list(li)) #

輸出結果 ['linhaifeng']

#

map函式 map(func, *iterables) --> map object

#用map實現將列表中的值疊加1

num = [1, 2, 3, 4, 5]

res = map(lambda x: x + 1, num) #

map第乙個引數為處理方法,第二個引數為可迭代物件

print

(res)

#for i in res:

#print(i)

print(list(res)) #

輸出結果 [2, 3, 4, 5, 6]

#用map實現將小寫轉大寫

st = "

hanhanshigeshuaige

"res1 = map(lambda

x: x.upper(), st)

print(list(res1))

print(abs(-1))  #

取絕對值

print(bin(20)) #

將十進位制轉換為二進位制

print(hex(12)) #

10進製->16進製制

print(oct(12)) #

10進製->8進製

name = '

憨憨好'

print(bytes(name, encoding='

utf-8

')) #

將字串轉換為位元組

print(bytes(name, encoding='

utf-8

').decode('

utf-8

')) #

解碼 將位元組轉化為字串

# map() 處理序列中的每個元素,得到的結果是乙個『列表』,讀『列表』元素個數及位置與原來一樣

# filter() 遍歷序列中的每個元素,判斷每個元素得到布林值,如果是true就留下來。

# reduce() 處理乙個序列,然後把序列進行合併操作

第九課 變數

任務與 修改 沒有定義變數r,在第四行float r1,r2之後加上r就可以 include include intmain 閱讀程式 閱讀下面的程式,在閱讀過程中,請為每乙個變數畫出乙個方框,代表對應的記憶體空間。隨著閱讀,標明變數的變化過程,達到讀懂程式的目的。include intmain 圖...

python基礎第九課 range函式,迴圈

for in迴圈 流程控制語句break 流程控制語句continue else語句 巢狀迴圈 二重迴圈中的break和continue 建立range物件的三種方式 第一種建立方式 r range 10 print list r 0,1,2,3,4,5,6,7,8,9 第二種建立方式 r rang...

C語言第九課

主要內容 高階指標 結構體指標 一 結構體指標 指向結構體變數的指標叫做結構體指標 typedef struct student student student stu student p stu student 結構體型別的指標 型別 p 結構體指標變數 變數名 結構體訪問成員變數 示例 type...