介紹4個(gè)大神常用而你不常用的python函數(shù)

介紹4個(gè)大神常用而你不常用的python函數(shù)

目前成都創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、長(zhǎng)春網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

 

https://mp.weixin.qq.com/s/C2nw4JShmj1FlLeDy0IeRA


今天總共說(shuō)下四個(gè)函數(shù): assert ,map,filter,reduce 。

 

assert

俗稱 斷言!就是說(shuō)斷言一件事,如果是真,程序繼續(xù)進(jìn)行;如果是假,則報(bào)錯(cuò)。


介紹4個(gè)大神常用而你不常用的python函數(shù)



怎么用捏?

兩種用法

  • assert <condition>

  • assert <condition>, <error message>

     

    第一種

    def avg( marks ):
       assert len ( marks ) !=
        return sum( marks )/ len ( marks )

    mark1 = []
    print ( "Average of mark1:" ,avg(mark1))

     

    結(jié)果為

    AssertionError

     

    第二種

    def avg( marks ):
       assert len ( marks ) != , "List is empty."
        return sum( marks )/ len ( marks )

    mark2 = [ 55 , 88 , 78 , 90 , 79 ]
    print ( "Average of mark2:" ,avg(mark2))

    mark1 = []
    print ( "Average of mark1:" ,avg(mark1))

     

    結(jié)果為

    Average of mark2: 78.0
    AssertionError: List is empty .

     

    map

    很多時(shí)候,我們對(duì)一個(gè)list里的數(shù)據(jù)進(jìn)行同一種操作,比如:

    items = [ 1 , 2 , 3 , 4 , 5 ]
    squared = []
    for i in item s:
       squared. append (i** 2 )



    這個(gè)時(shí)候,就可以用map操作,格式為:

    map(function_to_apply, list_input)



    具體操作為

    items = [ 1 , 2 , 3 , 4 , 5 ]
    squared = list(map(lambda x: x** 2 , items))

     

    當(dāng)然list里可以放函數(shù)

    def multiply (x):
      return (x*x)
    def add (x):
      return (x+x)

    funcs = [multiply, add]
    for i in range( 5 ):
      value = list(map( lambda x: x(i), funcs))
      print(value)

    # Output:
    # [0, 0]
    # [1, 2]
    # [4, 4]
    # [9, 6]
    # [16, 8]

     

    當(dāng)然也可以進(jìn)行str2id操作

    a = [ '5' , '2' , '3' , '4' , '5' ]
    print ( list ( map ( int , a )))

    # [ 5 , 2 , 3 , 4 , 5 ]

     

    filter

    filter 函數(shù)就是對(duì)于給定的條件進(jìn)行篩選,過(guò)濾。

    number_list = range (- 5 , 5 )
    less_than_zero = list ( filter (lambda x : x < , number_list))
    print (less_than_zero)

    # Outpu t: [- 5 , - 4 , - 3 , - 2 , - 1 ]

     

    這個(gè)可以用在神經(jīng)網(wǎng)絡(luò)中是否對(duì)部分網(wǎng)絡(luò)進(jìn)行fine-tune

    if self. args .fine_tune is False:
        parameters = filter (lambda p : p .requires_grad, model.parameters())
    else :
        parameters = model.parameters()

     

    reduce

    reduce 就是累計(jì)上次的結(jié)果,用在當(dāng)前操作上。比如不用reduce是這樣的

    product = 1
    list = [ 1 , 2 , 3 , 4 ]
    for num in list :
       product = product * num

    # product = 24



    用了之后

    from functools import reduce
    product = reduce(( lambda x, y: x * y), [ 1 , 2 , 3 , 4 ])

    # Output: 24



    IELTS a bit



    colossal adj. 巨大的;廣大的;龐大的

    deposit n. 存款   v. 將錢存入銀行

     

     

     

網(wǎng)頁(yè)名稱:介紹4個(gè)大神常用而你不常用的python函數(shù)
文章網(wǎng)址:http://www.muchs.cn/article40/jsosho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)外貿(mào)建站、移動(dòng)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)