1.map:*****=> [abs(i) for i in [-1, 3, -4, -5]]
# 1). 對於序列每個元素求絕對值;
import random
from functools import reduce
print(list(map(abs, [-1, 3, -4, -5])))
# 2). 對於序列每個元素求階乘; 5!
import random
deffactoria
(x):
"""對於x求階乘"""
res = 1
for i in range(1, x + 1):
res = res * i
return res
li = [random.randint(2, 7) for i in range(10)]
print(list(map(factoria, li)))
2.reduce:
- python2中, 為內建函式;
- python3中, 匯入reduce, from functools import reduce
# 2). 對於序列每個元素求階乘; 5!
import random
from functools import reduce
defmulti
(x, y):
return x * y
# [1,2,3] ====> multi(multi(1,2), 3)
print(reduce(multi, range(1, 4)))
3.filter函式 *****= [i for i in range(1,11) if isodd(i)]
def
idodd
(x):
return x % 2 == 0
if x%2 == 0:
return
true
else:
return
false
print(list(filter(idodd, range(1,11))))
# 拿出1~100之間所有的素數
defisprime
(num):
for i in range(2, num):
if num % i == 0:
return
false
else:
return
true
print(list(filter(isprime, range(2,101))))
4. li.sort()和sorted()兩種方法的區別?
1). 列表裡面提供了sort方法, 其他資料結構沒有.sorted方法可以對任何可迭代物件排序.
2).sort方法支援原地排序(變數排序後, 變數本身改變), sorted排序後返回乙個新的列表,並不改變原變數的內容.
5.預設sort和sorted方法由小到大進行排序, reverse=true時, 由大到小進行排序.
#方法一
li = [1,2,6,21324,67,2,23]
print(sorted(li, reverse=true))
#方法二
li = [1,2,6,21324,67,2,23]
li.sort(reverse=true)
print(li)
6. 對於列表裡面巢狀列表進行排序.
info = [
# 商品名稱 商品數量 商品**
]print(sorted(info))
defsorted_by_count
(x):
return x[1]
defsorted_by_price
(x):
return x[2]
# 先按照商品數量由小到大進行排序, 如果商品數量一致, 則按照商品**由小到大進行排序.
defsorted_by_count_price
(x):
return x[1], x[2]
# 按照商品的數量進行排序, key代表排序的關鍵字
print(sorted(info, key=sorted_by_count))
# 按照商品的**進行排序, key代表排序的關鍵字
7.對於字典裡面巢狀字典進行排序
python 內建高階函式
1.map map 函式接收兩個引數,乙個是函式,乙個是序列 map將傳入的函式依次作用到序列的每個元素,並且把結果 作為新的序列返回 求絕對值 print map abs,1,3,4,5 輸出 map列印的不是乙個列表而是乙個物件,所以我們需要轉換為列表才能列印。print list map ab...
Python 內建高階函式
map是python 內建的高階函式,其可以傳入倆個引數,第乙個引數是函式,第二個引數是乙個iterable例如list。def aa a return a a r map aa,1,2,3,4 map的返回值是乙個iterator需要使用list 或者for 輸出所有元素。print a for ...
python(內建高階函式)
1.高階函式介紹 2.內建高階函式 1 map function,iterable 函式 將列表 a 中的元素全部轉換成字串 a 1,2,3,4 b map str,a print list b 將下面stu列表中的姓氏進行首字母大寫操作 stu zhao qian sun li 自定義首字母大寫方...