Python 基本資料型別基礎實戰 Lambda

2021-09-24 12:51:27 字數 2730 閱讀 2483

#reference:

#reference:python程式設計基礎(第2版)

#lambda效率不及operator

#冒號前是輸入引數,冒號後是返回值

add =

lambda x,y:x**y

print

(add(2,

5))g =

lambda x, y=

2, z=

6:x*y+z

print

(g(10))

#wrong example

r =[

]x =

1for x in

range(10

):lambda

:x**2)

print

(r[1](

))#不加括號將返回迭代器物件

#answer: wa

#81#accepted example

r =[

]x =

1for x in

range(10

):lambda n = x:n**2)

print

(r[5](

))#不加括號將返回迭代器物件

#answer:

#25

f =lambda

:ii =

3print

(f()

)i =

5print

(f()

)#answer:

#3#5

#lambda在filter中的呼叫

defis_odd

(n):

return n %2==

1newlist =

filter

(is_odd,[1

,2,3

,4,5

,6,7

,8,9

,10])

print

(newlist)

#返回迭代器物件

#print

(list

(newlist)

)#返回列表

#[1, 3, 5, 7, 9]

newlist =

list

(filter

(lambda n : n %2==

1,[1

,2,3

,4,5

,6,7

,8,9

,10])

)print

(newlist)

#[1, 3, 5, 7, 9]

newlist =

(filter

(lambda n : n %2==

1,[1

,2,3

,4,5

,6,7

,8,9

,10])

)print

(newlist)

##lambda在sort中的呼叫

data =[1

,2,3

,4,5

,6,7

,8,9

,10,5

,4,2

]data.sort(key =

lambda x:

-x)#用於sort中的引數傳遞,感覺類似於c++ sort cmp編寫

print

(data)

#[10, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1]

data.sort(key =

lambda x:

len(

str(x)))

#按照字串長度排序

print

(data)

#[9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1, 10]

data.sort(key =

lambda x:

len(

str(x)

), reverse=

true

)print

(data)

#[10, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1]

data =[1

,2,3

,4,5

,6,7

,8,9

,10,5

,4,2

]data.sort(key =

lambda x:

len(

str(x)

), reverse=

true

)#與上一條測試對比,可證明sort排序是穩定的

print

(data)

#[10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 4, 2]

#lambda在map對映中的使用

defsqup

(x):

return x * x

newlist =

list

(map

(squp,[1

,2,3

,4,5

]))print

(newlist)

#[1, 4, 9, 16, 25]

newlist =

list

(map

(lambda x:x**2,

[1,2

,3,4

,5])

)print

(newlist)

#[1, 4, 9, 16, 25]

python基礎 基本資料型別

十進位制 逢10進1,1,2,3,4,5,6,7,8,9,10,11 二進位制 逢2進1,001,010,011,100,101,110,111 八進位制 逢8進1,1,2,3,4,5,6,7,10,11,12,13,14,15,16,20 十六進製制 逢16進1,1,2,3,4,5,6,7,8,9...

Python基礎 基本資料型別

1 數字型別的組成 整數 預設十進位制 二進位制0b開頭,八進位制0o開頭,十六進製制0x開頭 十進位制與其他進製的轉換,輸出結果為字串型別 a bin 16 轉二進位制 b oct 16 轉十進位制 c hex 16 轉十六進製制 其他進製與十進位制的轉換,輸出結果為整型 d int a,2 二進...

Python基礎02 基本資料型別

簡單的資料型別以及賦值 python的變數不需要宣告,你可以直接輸入 a 10 那麼你的記憶體裡就有了乙個變數a,它的值是10,它的型別是integer 整數 在此之前你不需要做什麼特別的宣告,而資料型別是python自動決定的。print a print type a 那麼會有如下輸出 10 這裡...