文档章节

python的几种有用的函数 itertools库

弘_轩
 弘_轩
发布于 2017/01/22 14:43
字数 136
阅读 11
收藏 0
import itertools

b = [('a', -1), ('b', 'b1'), ('c', 'cs')]

#笛卡尔积
list(itertools.product(*b))

[('a', 'b', 'c'),
 ('a', 'b', 'cs'),
 ('a', 'b1', 'c'),
 ('a', 'b1', 'cs'),
 (-1, 'b', 'c'),
 (-1, 'b', 'cs'),
 (-1, 'b1', 'c'),
 (-1, 'b1', 'cs')]


#排列
list(itertools.permutations(b, 2))

[(('a', -1), ('b', 'b1')),
 (('a', -1), ('c', 'cs')),
 (('b', 'b1'), ('a', -1)),
 (('b', 'b1'), ('c', 'cs')),
 (('c', 'cs'), ('a', -1)),
 (('c', 'cs'), ('b', 'b1'))]


#组合,没有重复
list(itertools.combinations(b, 2))
[(('a', -1), ('b', 'b1')),
 (('a', -1), ('c', 'cs')),
 (('b', 'b1'), ('c', 'cs'))]


#组合,有重复
list(itertools.combinations_with_replacement(b, 2))


[(('a', -1), ('a', -1)),
 (('a', -1), ('b', 'b1')),
 (('a', -1), ('c', 'cs')),
 (('b', 'b1'), ('b', 'b1')),
 (('b', 'b1'), ('c', 'cs')),
 (('c', 'cs'), ('c', 'cs'))]

 

© 著作权归作者所有

上一篇: celery + redis
弘_轩
粉丝 5
博文 16
码字总数 10368
作品 0
福州
高级程序员
私信 提问
python 常用内建模块之itertools

python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 itertools Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。 首先,我们看看itertools提供的几个“无限”迭...

展菲
07/30
0
0
这段代码很Pythonic:相见恨晚的itertools库

最近事情不是很多,想写一些技术文章分享给大家,同时也对自己一段时间来碎片化接受的知识进行一下梳理,所谓写清楚才能说清楚,说清楚才能想清楚,就是这个道理了。 很多人都致力于把Pytho...

Python女神
2018/11/02
0
0
任意排列、组合终极Shell脚本

作者:crulat 永夜 #!/bin/bash permutation_combination.sh arg0=-1number=${2}eval ary=({1..${1}})length=${#ary[@]}output(){ echo -n ${ary[${!i}]}; }prtcom(){ nsloop i 0 number+1 ......

大数据之路
2012/06/21
1K
0
【转载】Python脚本判断一个数是否为素数的几种方法

质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合...

摩云飞
2013/02/05
244
0
函数式 Python 中的 Pipe 与 itertools

1、迭代器与管道函数式编程简介 可迭代器(iterable),不仅限于list/str等,还包括任何包含有yield关键字的函数,后者未必有规律的迭代特征。标准库中的itertools包提供了更加灵活的产生迭代器...

xrzs
2015/09/07
492
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS盒子模型

一、什么叫框模型 页面元素皆为框(盒子) 定义了元素框处理元素内容,内边距,外边距以及边框的计算方式 二、外边距 围绕在元素边框外的空白距离(元素与元素之间的距离) 语法:margin,定...

wytao1995
今天
4
0
Replugin借助“UI进程”来快速释放Dex

public static boolean preload(PluginInfo pi) { if (pi == null) { return false; } // 借助“UI进程”来快速释放Dex(见PluginFastInstallProviderProxy的说明) return PluginFastInsta......

Gemini-Lin
今天
4
0
Hibernate 5 的模块/包(modules/artifacts)

Hibernate 的功能被拆分成一系列的模块/包(modules/artifacts),其目的是为了对依赖进行独立(模块化)。 模块名称 说明 hibernate-core 这个是 Hibernate 的主要(main (core))模块。定义...

honeymoose
今天
4
0
精华帖

第一章 jQuery简介 jQuery是一个JavaScript库 jQuery具备简洁的语法和跨平台的兼容性 简化了JavaScript的操作。 在页面中引入jQuery jQuery是一个JavaScript脚本库,不需要特别的安装,只需要...

流川偑
今天
7
0
语音对话英语翻译在线翻译成中文哪个方法好用

想要进行将中文翻译成英文,或者将英文翻译成中文的操作,其实有一个非常简单的工具就能够帮助完成将语音进行翻译转换的软件。 在应用市场或者百度手机助手等各大应用渠道里面就能够找到一款...

401恶户
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部