python 可迭代的歸約函式

2021-09-26 15:44:31 字數 780 閱讀 6140

表 14-6 中的函式都接受乙個可迭代的物件,然後返回單個結果。這些函式叫「歸約」函式、「合攏」函式或「累加」函式。其實,這裡列出的每個內建函式都可以使用functools.reduce函式實現,內建是因為使用它們便於解決常見的問題。此外,對all

any函式來說,有一項重要的優化措施是reduce函式做不到的:這兩個函式會短路(即一旦確定了結果就立即停止使用迭代器)。

例子:

還有乙個內建的函式接受乙個可迭代的物件,返回不同的值——sortedreversed是生成器函式,與此不同,sorted會構建並返回真正的列表。畢竟,要讀取輸入的可迭代物件中的每乙個元素才能排序,而且排序的物件是列表,因此sorted操作完成後返回排序後的列表。我在這裡提到sorted,是因為它可以處理任意的可迭代物件。

當然,sorted和這些歸約函式只能處理最終會停止的可迭代物件。否則,這些函式會一直收集元素,永遠無法返回結果。

python可迭代 python中可迭代物件有哪些

python中的可迭代物件有哪些?python中的可迭代物件有 列表 元組 字典 字串 常結合for迴圈使用 判斷乙個物件是不是可迭代物件 from collections import iterable isinstance list range 100 iterable isinstance s...

Python 可迭代物件

1.可迭代物件 以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別 如 list tuple dict set str等 一類是generator,包括生成器和帶yield 的 generator function 這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable 2...

python可迭代物件

0 在python中只要是能用for in的,都是可迭代物件,讓我們看下定義 定義 我們已經知道可以對list tuple dict set str等型別的資料使用for in 的迴圈語法,會從其中依次拿到資料元素進行使用,我們把這樣的過程稱為遍歷,也叫迭代。所以我們把可以通過for in 這類語句...