#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 這裡...