久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Python常用的8個高級函數

     小仙女本仙人 2021-04-27

    lambda

    它們在其他語言中也被稱為匿名函數。如果你不想在程序中對一個函數使用兩次,你也許會想用lambda表達式,它們和普通的函數完全一樣。

    lambda argument: manipulate(argument)

    lambda 參數:操作(參數)

    add = lambda x, y: x + yprint(add(3, 5))# Output: 8a = [(1, 2), (4, 1), (9, 10), (13, -3)]def f(x):return x[1]# a.sort(key=f)a.sort(key=lambda x: x[1])print(a)# Output: [(13, -3), (4, 1), (1, 2), (9, 10)]

    sorted

    sorted(iterable, *, key=None, reverse=False)

    從 iterable 中的 item 中返回一個新的排序列表。

    有兩個可選參數,必須將其指定為關鍵字參數。

    key 指定一個帶有一個參數的函數,用于從每個列表元素中提取比較鍵:key=str.lower。默認值是 None(直接比較元素)。

    reverse 是一個布爾值。如果設置為 True,那么列表元素按照每個比較被顛倒的順序進行排序。

    內置的 sorted() 函數排序是穩定的。如果確保不會更改比較相等的元素的相對順序,則排序是穩定的 。

    三元表達式

    三元運算符通常在Python里被稱為條件表達式,這些表達式基于真(true)/假(false)的條件判斷.

    它允許用簡單的一行快速判斷,而不是使用復雜的多行if語句。 這在大多數時候非常有用,而且可以使代碼簡單可維護。

    # 如果條件為真,返回真 否則返回假condition_is_true if condition else condition_is_falseif condition:
        result = condition_is_trueelse:
        result = condition_is_false

    map

    map(function, iterable, ...)

    返回一個將 function 應用于每個 iterable item 的迭代器,從而產生結果。如果傳遞額外的 iterable 參數,function 必須采用多個參數并應用于并行所有迭代中的項目。使用多個迭代器時,當最短迭代器耗盡時,迭代器停止。

    In [54]: list1 = [1, 2, 3, 4, 5, 6]
    
    In [55]: list2 = [4, 3, 7, 1, 9]
    
    In [56]: list(map(str, list1))
    Out[56]: ['1', '2', '3', '4', '5', '6']
    
    In [57]: list(map(lambda x, y: x+y, list1, list2))
    Out[57]: [5, 5, 10, 5, 14]

    enumerate

    enumerate( iterable, start=0)

    返回一個枚舉對象。 iterable 必須是一個序列,一個迭代器或其他支持迭代的對象。由 enumerate() 返回的迭代器的 __next__() 方法返回一個元組,該元組包含一個計數(從 start 開始,默認值為 0)以及遍歷迭代獲得的值。

    >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']>>> list(enumerate(seasons))
    [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]>>> list(enumerate(seasons, start=1))
    [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

    zip

    zip(*iterables)

    制作一個迭代器,用于聚合來自每個迭代器的元素。

    返回元組的迭代器,其中第 i 個元組包含來自每個參數序列或迭代的第 i 個元素。當最短的輸入迭代耗盡時,迭代器停止。使用單個迭代參數,它將返回 1 元組的迭代器。沒有參數,它返回一個空的迭代器。

    與 * 操作符一起使用 zip() 可用于解壓縮列表:

    >>> x = [1, 2, 3]>>> y = [4, 5, 6]>>> zipped = zip(x, y)>>> list(zipped)
    [(1, 4), (2, 5), (3, 6)]>>> x2, y2 = zip(*zip(x, y))>>> x == list(x2) and y == list(y2)
    True
    data = zip(list1, list2)
    data = sorted(data)
    list1, list2 = map(lambda t: list(t), zip(*data))

    filter

    filter(function, iterable)

    用那些 function 返回 true 的 iterable 元素構造一個迭代器。iterable 可以是序列,支持迭代的容器或迭代器。如果 function 為 None,則假定標識函數為 false,即為 false 的所有元素都被刪除。

    # 過濾0-10之間的偶數In [8]: list(filter(lambda x: x%2==0, range(10)))
    Out[8]: [0, 2, 4, 6, 8]

    reduce

    reduce函數的用法和map很類似,也是一個函數f和一個list,但是函數的入口參數一定要是兩個,reduce也是對每個元素進行反復調用,最后返回最終的值,而map是返回一個list

    python3里面reduce已經從全局函數里面移除了,需要用的話要 from functools import reduce

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 精品国产免费一区二区三区香蕉| 亚洲欧美日韩中文在线制服| 亚洲AV伊人久久综合密臀性色| 久久AV无码精品人妻糸列| 重口SM一区二区三区视频| 少妇富婆高级按摩出水高潮| 中文字幕在线观看| 久久精品免视看国产成人| 国产精品黑色丝袜在线观看| 国产亚洲精品AA片在线播放天| 欧美乱妇高清无乱码免费| 99久久亚洲综合精品成人网 | 免费无码又爽又刺激网站| 国产猛男猛女超爽免费视频| 2019国产精品青青草原| 亚洲午夜久久久久久久久电影网| 激情五月开心婷婷深爱| 欧美又粗又大XXXXBBBB疯狂| 丰满少妇2中文在线观看| a级黑人大硬长爽猛出猛进| 欧美视频专区一二在线观看| 国产午夜影视大全免费观看| 国产精品爽黄69天堂A| 亚洲精品二区在线播放| 久久精品99国产精品日本| 亚洲 都市 无码 校园 激情| 国产精品亚洲二区在线看| 中文精品一卡2卡3卡4卡| 国产成人高清精品亚洲| 奇米网777色在线精品| 久久国产成人亚洲精品影院老金 | 亚洲午夜无码久久久久蜜臀av | 亚洲人成网网址在线看| 午夜久久久久久禁播电影| 熟妇人妻不卡中文字幕| 国产午夜福利免费入口| 国产乱子伦农村叉叉叉| 337P日本欧洲亚洲大胆精品555588| 性色欲情网站iwww九文堂| 久久午夜无码鲁丝片| 不卡AV中文字幕手机看|