2019独角兽企业重金招聘Python工程师标准>>>

product(*iterables[,repeat]):

源代码:

def product(*args,**kwds):pools=map(tuple,args)*kwds.get("repeat",1)result=[[]]for pool in pools:result=[x+[y] for x in result for y in pool]for prod in result:yield tuple(prod)

求iterables的笛卡尔积,repeat指定重复生成序列的次数。如:

>>>a=(1,2)
>>>b=('a','b')
>>>c=product(a,b)
>>>c.next()
(1,'a')
>>>c.next()
(1,'b')
>>>c.next()
(2,'a')
>>>c.next()
(2,'b')

permutations(iterable[,r]):

创建一个迭代器,返回iterable中所有长度为r的项目序列,如果省略了r,那么序列的长度与iterable中项目数量相同:返回p中任意取r个元素做排列的元组的迭代器。如:

>>>a=permutations('abc',2)
>>>a.next()
('a','b')
>>>a.next()
('a','c')
>>>a.next()
('b','a')
>>>a.next()
('b','c')
>>>a.next()
('c','a')
>>>a.next()
('c','b')
>>>b=permutations(range(2))
>>>b.next()
(0,1)
>>>b.next()
(1,0)

combinations(iterable,r):

创建一个迭代器,返回iterable中所有长度俄日r的自序列,返回的自序列中的项按输入的iterable中的顺序排序(不重复)

例如:

>>>a=combinations('abc',2)
>>>a.next()
('a','b')
>>>a.next()
('b','c')
>>>a.next()
('c','a')

combinations_with_replacement(iterable,r):

创建一个迭代器,返回iterable中所有长度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序(带重复)。

>>>a=combinations_with_replacement('abc',2)
>>>a.next()
('a','a')
>>>a.next()
('a','b')
>>>a.next()
('a','c')
>>>a.next()
('b','b')
>>>a.next()
('b','c')
>>>a.next()
('c','c')

转载于:https://my.oschina.net/935572630/blog/393381

python中itertools模块介绍---03相关推荐

  1. python中wx模块介绍_python wx模块如何安装

    python wx模块如何安装 发布时间:2020-09-21 13:43:23 来源:亿速云 阅读:79 作者:Leah python wx模块如何安装?很多新手对此不是很清楚,为了帮助大家解决这个 ...

  2. Python中tqdm模块介绍

    tqdm模块简单介绍 tqdm是一个可以显示Python进度条的模块,可通过pip在终端安装 pip install tqdm 可通过 import tqdm 导入,也可通过 from tqdm im ...

  3. python中wx模块介绍_python使用wxpython的 wx.aui 进行布局

    运行这段代码,将生成一个简单的左右结果的框架,非常好用,需要wx.aui模块 # -*- coding: cp936 -*- # 2010-04-20 18:40 中国广州天河 # 如何实现动态布局 ...

  4. -------Python中ConfigArgParse模块介绍---------

    来源:https://pypi.org/project/ConfigArgParse/ import configargparsep = configargparse.ArgParser(defaul ...

  5. python url模块介绍_python 中 urlparse 模块介绍

    urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接 1.urlparse.urlparse 将url分为6个部分,返回一个包含6个字符串项目的元组:协议.位置.路 ...

  6. python中pickle模块的用法_Python中json模块和pickle模块的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中json模块和pickle模块的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Python中的json模块和pickl ...

  7. python中导入模块使用哪个关键字_关于python导入模块的关键字介绍

    关于python导入模块的关键字介绍 发布时间:2020-04-17 10:13:26 来源:亿速云 阅读:101 作者:小新 今天小编给大家分享的是关于python导入模块的关键字介绍,很多人都不太 ...

  8. Python中各个模块的介绍和使用

    北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习 快速带你晋级阅读全文> 作者,许胜利,Python开发工程师,任职于上海某财富管理有限公司. 在Python中有一个概念 ...

  9. python哪里下载import包-详解python中的模块及包导入

    python中的导入关键字:import 以及from import 1.import import一般用于导入包以及模块. 不过有个小问题: (1)当导入的是模块的时候是可以直接可以使用模块内的函数 ...

最新文章

  1. spring的事务隔离_再深一点:面试工作两不误,源码级理解Spring事务
  2. SpringCloud组件 源码剖析:Eureka服务注册方式流程全面分析
  3. 可以对窗口函数之后再加条件_SQL 窗口函数——解决实际问题
  4. 二叉排序树(Binary Sort Tree) 又称为二叉查找树(Binary Search Tree) - (代码、分析)
  5. 利用python进行数据分析之准备工作(1)
  6. 02-Http请求与响应全解
  7. cURL 原作者收到死亡恐吓邮件!
  8. 服务器不支持mysql_服务器不支持 MySql 数据库的解决方法
  9. oracle 查询创建了哪些存储过程
  10. 比char还小的变量
  11. 线程并发与进程并发各有什么you_【白话计算机基础】并发与并行,进程、线程与协程, 同步与异步,阻塞与非阻塞...
  12. vivado路径最大时钟约束_Vivado时序收敛技术(二) 时序违例的根本原因及解决方法...
  13. 如何用c语言编码判断质数,如何用C语言筛选法判断质数
  14. jmeter请求grpc接口
  15. fedora mysql添加密码_Fedora14下 mysql更改密码
  16. 获取iOS设备唯一标识 uuid
  17. 诚之和:极地冰川融化会将远古病原体释放出来吗?
  18. c语言递推兔子繁殖问题,兔子繁殖问题(斐波那契数列)
  19. 尚硅谷 尚医通学习笔记
  20. BJOI2019 勘破神机 新解

热门文章

  1. c语言中 允许函数重载么,简述C++语言支持函数重载问题介绍
  2. mysql ldf文件太大_sqlserver 2008R2 数据库文件过大解决办法
  3. springboot集成swagger2测试接口
  4. MT8870DTMF解码器测试
  5. 天高任鸟飞,海阔凭鱼跃
  6. 为什么磁场强度大了呢?
  7. mysql修改主键属性_mysql如何改变主键属性
  8. 所有配置_一张图看懂iPhone12的所有配置!
  9. 兄弟9020cdn废粉仓位置_硒鼓的无废粉仓设计是否真的有效?
  10. mysql set 子表,mysql update set 更新表数据