itertools模块

itertools模块概览



+生成无限迭代器

  • count(start, [step])  #从start开始,步长为step的无限整数迭代器(step默认值为1)
  • cycle(iterable)     #不断循环iterable而得到的无限迭代器
  • repeat(object, [n])   #重复object对象n次生成的迭代器 (n默认值为无穷大)

+处理输入序列得到新的迭代器

  • chain(*iterables)             #将多个序列串联
  • compress(data, selectors) #依据selector选择data中的某些元素
  • islice(iterable, [start],stop,[step])        #获取序列的切片
  • groupby(iterable, [key])
  • tee(iterable, [n=2])
  • ----------------------
  • dropwhile
  • takewhile
  • ifilter
  • ifilterfalse
  • imap
  • starmap
  • izip
  • izip_longest
时间: 2024-10-16 11:08:52

itertools模块的相关文章

Python:itertools模块

itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器(如生成器和生成器表达式)的函数联合使用. chain(iter1, iter2, ..., iterN): 给出一组迭代器(iter1, iter2, ..., iterN),此函数创建一个新迭代器来将所有的迭代器链接起来,返回的迭代器从iter1开始生成项,知道iter1被用完,然后从iter2生成项,这一过程会持续到iterN中所有的项都被

python itertools模块练习

参考 <python标准库> 也可以参考Vamei博客 列表用着很舒服,但迭代器不需要将所有数据同时存储在内存中. 本章练习一下python 标准库中itertools模块 合并 和 分解 迭代器 1.chain() 处理多个序列,而不比构造一个大的,两个合在一起,遍历就好了 >>> for i in chain(range(3),range(5,9)): ... print i ... 0 1 2 5 6 7 8 >>> 2.izip() 类似zip,可以

PYTHON-进阶-ITERTOOLS模块

PYTHON-进阶-ITERTOOLS模块小结 这货很强大, 必须掌握 文档 链接 pymotw 链接 基本是基于文档的翻译和补充,相当于翻译了 itertools用于高效循环的迭代函数集合 组成 总体,整体了解 无限迭代器 迭代器 参数 结果 例子 count() start, [step] start, start+step, start+2*step, ... count(10) --> 10 11 12 13 14 ... cycle() p p0, p1, ... plast, p0,

python中itertools模块介绍---01

itertools模块中包含了很多函数,这些函数最终都生成一个或多个迭代器,下面对这些函数进行介绍: 为了能够使用itertools中的函数,需要将该模块导入: >>>from itertools import * count(start=0,step=1): 源代码为: def count(start=0,step=1):     n=start     while True:         yield n         n+=step 从源代码可以看出,count函数产生一个生成

python,itertools模块

itertools模块的使用: # coding=utf-8 """ itertools模块 """ import itertools import unittest class TestItertools(unittest.TestCase): def test_count(self): """itertools.count()无限产生自然数""" natuals = itertool

python每日一类(5):itertools模块

itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器(如生成器和生成器表达式)的函数联合使用. chain(iter1, iter2, ..., iterN): 给出一组迭代器(iter1, iter2, ..., iterN),此函数创建一个新迭代器来将所有的迭代器链接起来,返回的迭代器从iter1开始生成项,知道iter1被用完,然后从iter2生成项,这一过程会持续到iterN中所有的项都被

python高级编程之生成器表达式和itertools模块

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #生成器表达式和itertools模块 #yield 中可以使用圆括号代替中括号 iter0=(x**2 for x  in range(10)if x%2==0) for iter1 in iter0: print iter1 #结果 """ 0 4 16 36 64 """ #这样的表达式被称为生成器或者gene

Python标准库--itertools模块

itertools模块:处理可迭代对象 chain()和islice().tee() chain:合并迭代器 islice:切割迭代器,start,end,step tee:复制迭代器,新迭代器共享输入迭代器, 新迭代器之间不影响 from itertools import * # for i in chain([1, 2, 3], ['a', 'b', 'c']): # print(i) # # for i in islice(count(), 0, 100, 10): # print(i)

Python学习笔记—itertools模块

这篇是看wklken的<Python进阶-Itertools模块小结> 学习itertools模块的学习笔记 在看itertools中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较费劲... 1.itertools.count(start=0,step=1) 此函数用来创建一个迭代器,生成从n开始的连续整数,如果忽略n,则从0开始计算 如果超出了sys.maxint,计数器将溢出并继续行-sys.maxint-1开始计算 定义: def count(start=0, step=1):