itertools
0. Python中引入itertools
1. 笛卡尔积:
product(iter1, iter2,...,iterN,[repeat=i])
from itertools import product #笛卡尔积
#3种常见的iter类型
for x in product('',repeat=3):
print(x)
for x in product([1,0],repeat=3):
print(x)
for x in product((0,1),repeat=3):
print(x)
结果
 ('', '', '')
 ('', '', '')
 ('', '', '')
 ('', '', '')
 ('', '', '')
 ('', '', '')
 ('', '', '')
 ('', '', '')
 (1, 1, 1)
 (1, 1, 0)
 (1, 0, 1)
 (1, 0, 0)
 (0, 1, 1)
 (0, 1, 0)
 (0, 0, 1)
 (0, 0, 0)
 (0, 0, 0)
 (0, 0, 1)
 (0, 1, 0)
 (0, 1, 1)
 (1, 0, 0)
 (1, 0, 1)
 (1, 1, 0)
 (1, 1, 1)
复杂示例
lucky+=[int(''.join([str(y) for y in x])) for x in list(product([4,7],repeat=i))]
2.全排列
permutations(iterable,[,r])
 from itertools import permutations
 for x in permutations('ABC'):
     print(x)
结果
('A', 'B', 'C')
('A', 'C', 'B')
('B', 'A', 'C')
('B', 'C', 'A')
('C', 'A', 'B')
('C', 'B', 'A')
3. 组合
combinations(iterable, r)
 from itertools import combinations
 for x in combinations('ABCD',):
     print(x)
 for x in combinations([,,,],):
     print(x)
结果
('A', 'B')
('A', 'C')
('B', 'C')
(, )
(, )
(, )
未完待续...
itertools的更多相关文章
- Python标准模块--itertools
		1 模块简介 Python提供了itertools模块,可以创建属于自己的迭代器.itertools提供的工具快速并且节约内存.开发者可以使用这些工具创建属于自己特定的迭代器,这些特定的迭代器可以用于 ... 
- Python标准库13 循环器 (itertools)
		作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在循环对象和函数对象中,我们了解了循环器(iterator)的功能.循环器是对象的 ... 
- itertools模块
		itertools模块中有很多函数,返回的是一个迭代器 参考: http://www.wklken.me/posts/2013/08/20/python-extra-itertools.html#_1 
- Python模块:itertools
		itertools模块:循环器 一,无穷循环器:count,cycle,repeat (1)count(5,3) #从5开始的整数循环器,每次增加3,即:5,8,11,14,17... from it ... 
- Python标准库(1) — itertools模块
		简介 官方描述:Functional tools for creating and using iterators.即用于创建高效迭代器的函数. itertools.chain(*iterable) ... 
- 用康托展开实现全排列(STL、itertools)
		康拓展开: $X=a_n*(n-1)!+a_{n-1}*(n-2)!+\ldots +a_2*1!+a_1*0!$ X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+ ... 
- itertools 介绍
		在python中itertool为python提供一系列迭代iterator的方法. 第一个:组合 排列 itertools.combinations(sq, r) 该函数的作用是在列表sq中穷举所有 ... 
- Python高级特性(1):Iterators、Generators和itertools(参考)
		对数学家来说,Python这门语言有着很多吸引他们的地方.举几个例子:对于tuple.lists以及sets等容器的支持,使用与传统数学类 似的符号标记方式,还有列表推导式这样与数学中集合推导式和集的 ... 
- 转:Python itertools模块
		itertools Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数. 首先,我们看看itertools提供的几个"无限"迭代器: >>& ... 
随机推荐
- ae GP制作缓冲区分析
			private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { // ... 
- 写pdf文件
			using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ... 
- 【转】Xcode进阶快捷键
			Xcode 快捷键和手势不仅节省了宝贵的工作时间,而且能让你在工作过程中感到更自信.能力变得更强,这样的工作方式也更合理.学习下列技巧你将成为 Xcode 资深用户. 此处提供一些通用的按键符以供参考 ... 
- [转]Design Pattern Interview Questions - Part 1
			Factory, Abstract factory, prototype pattern (B) What are design patterns? (A) Can you explain facto ... 
- android handler ,message消息发送方式
			1.Message msg = Message.obtain(mainHandler) msg.obj=obj;//添加你需要附加上去的内容 msg.what = what;//what消息处理的类 ... 
- sp_executesql得到执行sql语句的返回值
			执行 sql语句,得到 变量的值 ' declare @Partition int; ); ); SET @SQLString = N'SELECT @RangeKeyOUT = $PARTITION ... 
- Android 最全Activity生命周期
			新进入Activity:onCreate > onStart > onResume 退出Activity:onPause > onStop > onDestroy 目前处于该A ... 
- .NET框架设计(常被忽视的C#设计技巧)
			阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思 ... 
- mybatis配置-返回date类型丢失时间
			此博客仅作于平时开发所遇到的问题记录,不做他用,描述可能不好,自己看懂即可~~ resultMap配置返回时间类型时,发现数据库时间是精确到秒的,但是返回给javabean之后丢失时分秒的信息,只有日 ... 
- android 关闭/开启软件键盘(hideSoftKeyboard)
			/** * 隐藏软键盘 * @param v */ public static void hideSoftKeyboard(View v) { InputMethodManager imm = (In ... 
