表 14-6 中的函式都接受乙個可迭代的物件,然後返回單個結果。這些函式叫「歸約」函式、「合攏」函式或「累加」函式。其實,這裡列出的每個內建函式都可以使用functools.reduce
函式實現,內建是因為使用它們便於解決常見的問題。此外,對all
和
any
函式來說,有一項重要的優化措施是reduce
函式做不到的:這兩個函式會短路(即一旦確定了結果就立即停止使用迭代器)。
例子:
還有乙個內建的函式接受乙個可迭代的物件,返回不同的值——sorted
。reversed
是生成器函式,與此不同,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 這類語句...