国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中itertools模塊用法詳解

2020-02-23 05:50:44
字體:
來源:轉載
供稿:網友

本文實例講述了Python中itertools模塊用法,分享給大家供大家參考。具體分析如下:

一般來說,itertools模塊包含創建有效迭代器的函數,可以用各種方式對數據進行循環操作,此模塊中的所有函數返回的迭代器都可以與for循環語句以及其他包含迭代器(如生成器和生成器表達式)的函數聯合使用。

chain(iter1, iter2, ..., iterN):

給出一組迭代器(iter1, iter2, ..., iterN),此函數創建一個新迭代器來將所有的迭代器鏈接起來,返回的迭代器從iter1開始生成項,知道iter1被用完,然后從iter2生成項,這一過程會持續到iterN中所有的項都被用完。

from itertools import chaintest = chain('AB', 'CDE', 'F')for el in test:  print elABCDEF

chain.from_iterable(iterables):

一個備用鏈構造函數,其中的iterables是一個迭代變量,生成迭代序列,此操作的結果與以下生成器代碼片段生成的結果相同:

>>> def f(iterables):  for x in iterables:    for y in x:      yield y>>> test = f('ABCDEF')>>> test.next()'A'>>> from itertools import chain>>> test = chain.from_iterable('ABCDEF')>>> test.next()'A'

combinations(iterable, r):

創建一個迭代器,返回iterable中所有長度為r的子序列,返回的子序列中的項按輸入iterable中的順序排序:

>>> from itertools import combinations>>> test = combinations([1,2,3,4], 2)>>> for el in test:  print el  (1, 2)(1, 3)(1, 4)(2, 3)(2, 4)(3, 4)

count([n]):

創建一個迭代器,生成從n開始的連續整數,如果忽略n,則從0開始計算(注意:此迭代器不支持長整數),如果超出了sys.maxint,計數器將溢出并繼續從-sys.maxint-1開始計算。

cycle(iterable):

創建一個迭代器,對iterable中的元素反復執行循環操作,內部會生成iterable中的元素的一個副本,此副本用于返回循環中的重復項。

dropwhile(predicate, iterable):

創建一個迭代器,只要函數predicate(item)為True,就丟棄iterable中的項,如果predicate返回False,就會生成iterable中的項和所有后續項。

def dropwhile(predicate, iterable):  # dropwhile(lambda x: x<5, [1,4,6,4,1]) --> 6 4 1  iterable = iter(iterable)  for x in iterable:    if not predicate(x):      yield x      break  for x in iterable:    yield x

groupby(iterable [,key]):

創建一個迭代器,對iterable生成的連續項進行分組,在分組過程中會查找重復項。

如果iterable在多次連續迭代中生成了同一項,則會定義一個組,如果將此函數應用一個分類列表,那么分組將定義該列表中的所有唯一項,key(如果已提供)是一個函數,應用于每一項,如果此函數存在返回值,該值將用于后續項而不是該項本身進行比較,此函數返回的迭代器生成元素(key, group),其中key是分組的鍵值,group是迭代器,生成組成該組的所有項。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芜湖市| 金阳县| 监利县| 文山县| 宿州市| 鸡东县| 墨竹工卡县| 喀喇| 越西县| 嘉义县| 玛多县| 嘉祥县| 孝义市| 驻马店市| 平湖市| 建宁县| 东乌| 会东县| 佛坪县| 游戏| 威信县| 榕江县| 江陵县| 临邑县| 永福县| 咸宁市| 延长县| 福贡县| 九龙县| 社旗县| 五大连池市| 会宁县| 永济市| 勐海县| 晋宁县| 玛曲县| 德庆县| 济源市| 磴口县| 隆回县| 筠连县|