中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

介紹4個大神常用而你不常用的python函數

發布時間:2020-08-08 15:12:21 來源:ITPUB博客 閱讀:173 作者:dicksonjyl560101 欄目:互聯網科技

介紹4個大神常用而你不常用的python函數

 

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


今天總共說下四個函數: assert ,map,filter,reduce

 

assert

俗稱 斷言!就是說斷言一件事,如果是真,程序繼續進行;如果是假,則報錯。


介紹4個大神常用而你不常用的python函數



怎么用捏?

兩種用法

  • assert <condition>

  • assert <condition>, <error message>

     

    第一種

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

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

     

    結果為

    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))

     

    結果為

    Average of mark2: 78.0
    AssertionError: List
    is empty .

     

    map

    很多時候,我們對一個list里的數據進行同一種操作,比如:

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



    這個時候,就可以用map操作,格式為:

    map(function_to_apply, list_input)



    具體操作為

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

     

    當然list里可以放函數

    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]

     

    當然也可以進行str2id操作

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

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

     

    filter

    filter 函數就是對于給定的條件進行篩選,過濾。

    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 ]

     

    這個可以用在神經網絡中是否對部分網絡進行fine-tune

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

     

    reduce

    reduce 就是累計上次的結果,用在當前操作上。比如不用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. 將錢存入銀行

     

     

     

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝州市| 清流县| 江津市| 龙门县| 高淳县| 大连市| 富川| 定结县| 江津市| 大方县| 资源县| 修武县| 通州区| 达州市| 五常市| 绵阳市| 抚松县| 丹巴县| 汉阴县| 乌兰浩特市| 璧山县| 达日县| 高雄市| 榆树市| 政和县| 万宁市| 阳朔县| 阳山县| 从化市| 大悟县| 阳谷县| 泰顺县| 宁城县| 阜康市| 丰顺县| 蒙山县| 登封市| 黄大仙区| 洪雅县| 香格里拉县| 丹寨县|