成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python_bomb----高階函數(shù)

Pocher / 3525人閱讀

摘要:高階函數(shù)實參是一個函數(shù)名函數(shù)的返回值是一個函數(shù)傳遞的參數(shù)包含函數(shù)名。內(nèi)置高階函數(shù)函數(shù)函數(shù)接收兩個參數(shù)一個是函數(shù)一個是序列將傳入的函數(shù)依次作用到序列的每個元素并把結(jié)果作為新的返回。

高階函數(shù)

實參是一個函數(shù)名

函數(shù)的返回值是一個函數(shù)

print(abs(-10))
f = abs
print(f(-10))

#傳遞的參數(shù)包含函數(shù)名。
def myfun(x,y,fun):
    return f(x),f(y)

print(myfun(-10,23,abs))



10
10
(10, 23)

python內(nèi)置高階函數(shù) map()函數(shù)

map() 函數(shù)接收兩個參數(shù),一個是函數(shù),一個是序列, map 將傳入的函數(shù)依次作用到序列的每個元素,并把結(jié)果作為新的 list 返回。

#隨機生成一個長度為10,元素在2~7之間的列表
#對列表里所有元素求階乘
import random

lee= [random.randint(2,7) for i in range(10)]
print(lee)

def mult(x):
    rs=1
    for i in range(1,x+1):
        rs=i*rs
    return rs
print(map(mult,lee))
print(list(map(mult,lee)))



[2, 6, 5, 3, 3, 3, 3, 5, 4, 6]

[2, 720, 120, 6, 6, 6, 6, 120, 24, 720]

reduce()函數(shù)

把當前輸出作為下一次運算的輸入

python2中為內(nèi)置函數(shù)

python3需要導入,from functools import reduce

#求10的階乘
from functools import reduce
def multi(x, y):
    return x * y

# [1,2,3] ---> multi(multi(1,2),3)
c = reduce(multi, range(1, 11))
print(c)

filter()函數(shù)

filter() 也接收一個函數(shù)和一個序列。和 map() 不同的時,filter() 把傳入的函數(shù)依次作用于每個元素,然后根據(jù)返回值是 True還是 False 決定保留還是丟棄該元素。

#求0~10之間的奇數(shù)
def isodd(x):
    return x % 2 != 0

# [i for i in range(100,111) if i %2 !=0]

d = filter(isodd, range(0, 11))
print(d)
print(list(d))



[1, 3, 5, 7, 9]

匿名函數(shù)

匿名函數(shù)定義規(guī)則

   lambda 形參:返回值

from functools import reduce
print(reduce(lambda x,y:x+y,[1,2,3,4,5]))

15
列表里嵌套列表進行排序
d = {
    "001":{
        "name":"apple",
        "count":124,
        "price":1000
    },
    "002":{
        "name":"banana",
        "count":8,
        "price":1024
    }
}
#列表里嵌套元組
print(d.items())    #按key值排序
print(sorted(d.items(),key=lambda x:x[1]["count"]))
print(sorted(d.items(),key=lambda x:x[1]["price"]))

#itemgetter會忽略key值
print(sorted(d.values(),key=itemgetter("count")))
print(sorted(d.values(),key=itemgetter("price")))



dict_items([("001", {"name": "apple", "count": 124, "price": 1000}), ("002", {"name": "banana", "count": 8, "price": 1024})])
[("002", {"name": "banana", "count": 8, "price": 1024}), ("001", {"name": "apple", "count": 124, "price": 1000})]
[("001", {"name": "apple", "count": 124, "price": 1000}), ("002", {"name": "banana", "count": 8, "price": 1024})]
[{"name": "banana", "count": 8, "price": 1024}, {"name": "apple", "count": 124, "price": 1000}]
[{"name": "apple", "count": 124, "price": 1000}, {"name": "banana", "count": 8, "price": 1024}]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42249.html

相關(guān)文章

  • python_bomb----小白學裝飾器

    什么是裝飾器? 裝飾器就是用來裝飾函數(shù)。 想要增強原有函數(shù)的功能 但不希望修改原有函數(shù)的定義 在代碼運行期間動態(tài)增加功能的方式 函數(shù)嵌套函數(shù) 調(diào)用方式:原函數(shù) = 外層函數(shù)(原函數(shù)名)原函數(shù) def desc(fun): def add_info(): print(happy today) fun() print(westos_linux...

    mikasa 評論0 收藏0
  • python_bomb----函數(shù)高級特性(生成器)

    迭代 可以通過 for 循環(huán)來遍歷 list 或 tuple,這種遍歷我們稱為迭代(Iteration)只要是可迭代對象,都可以迭代,比如字典默認情況下,字典迭代的是key值如何讓判斷一個類型是否可迭代 from collections import Iterable #導入collections模塊的Iterable類型判斷方法 print(isinstance({abc:1},Itera...

    JouyPub 評論0 收藏0
  • python_bomb----排序函數(shù)

    摘要:和列表里提供了方法,其他數(shù)據(jù)類型不能用可以對任何可迭代對象排序方法支持原地排序,變量排序后,變量本身改變方法返回一個新的列表,并不改變原變量的內(nèi)容不改變原有列表次序默認和方法由小到大排序,時,從大到小排序字典排序商品名稱,數(shù) li.sort()和sorted() 列表里提供了sort方法,其他數(shù)據(jù)類型不能用 sorted可以對任何可迭代對象排序 sort方法支持原地排序,變量排序后...

    darcrand 評論0 收藏0
  • python_bomb----函數(shù)

    摘要:函數(shù)的定義范例總結(jié)無參函數(shù)名快注釋函數(shù)體定義函數(shù),并不會執(zhí)行函數(shù)體里面的內(nèi)容調(diào)用函數(shù)的過程函數(shù)里面嵌套函數(shù)調(diào)用外層函數(shù)時,內(nèi)層函數(shù)不會執(zhí)行變量參數(shù)定義函數(shù)時的變量,稱做形參,可以任意命名真實的數(shù)據(jù)信息,調(diào)用函數(shù)時傳遞的參數(shù),稱為實參是形參是 函數(shù)的定義 范例 def print(self, *args, sep= , end=n, file=None): 總結(jié) 無參 def 函數(shù)名...

    oogh 評論0 收藏0
  • python_bomb----包

    摘要:什么是包為了組織好模塊,會將多個模塊分為包。處理包也是相當方便的。簡單來說,包就是文件夾,但該文件夾下必須存在文件。最簡單的情況下,只需要一個空的文件即可。當然它也可以執(zhí)行包的初始化代碼包底下也能包含包,這和文件夾一樣,還是比較好理解的。 什么是包? 為了組織好模塊,會將多個模塊分為包。Python 處理包也是相當方便的。簡單來說,包就是文件夾,但該文件夾下必須存在 __init__....

    LeanCloud 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<