python 內建高階函式

2021-08-25 02:54:43 字數 3153 閱讀 6377

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 自定義首字母大寫方...