python解决排列组合
笛卡尔积:itertools.product(*iterables[, repeat])
import itertools
for i in itertools.product('BCDEF', repeat = 2):
print(''.join(i),end=",")
print('\n') # 输出 BB BC BD BE BF CB CC CD CE CF DB DC DD DE DF EB EC ED EE EF FB FC FD FE FF
两个元组进行笛卡尔积:
import itertools
a = (1, 2)
b = ('A', 'B', 'C')
c = itertools.product(a,b)
for i in c:
print(i,end=",") # 输出(1, 'A') (1, 'B') (1, 'C') (2, 'A') (2, 'B') (2, 'C')
排列:itertools.permutations(iterable[, r])
import itertools
for i in itertools.permutations('BCD', 2):
print(''.join(i),end=",")
# 输出 BC BD CB CD DB DC
print('\n')
组合:itertools.combinations(iterable, r)
import itertools
for i in itertools.combinations('BCDEF', 2):
print(''.join(i),end=" ")
# 输出 BC BD BE BF CD CE CF DE DF EF
print('\n')
组合(包含自身重复):itertools.combinations_with_replacement(iterable, r)
import itertools
for i in itertools.combinations_with_replacement('ABC', 3):
print (''.join(i),end=' ') # 输出 AAA AAB AAC ABB ABC ACC BBB BBC BCC CCC
print('\n')
举例
'BCDEF五个字母组合问题'
import itertools print("1个组合:")
for i, val in enumerate(list(itertools.combinations('BCDEF', 1))):
print("序号:%s 值:%s" % (i + 1, ''.join(val)))
print("2个组合:")
for i, val in enumerate(list(itertools.combinations('BCDEF', 2))):
print("序号:%s 值:%s" % (i + 1, ''.join(val)))
print("3个组合:")
for i, val in enumerate(list(itertools.combinations('BCDEF', 3))):
print("序号:%s 值:%s" % (i + 1, ''.join(val)))
print("4个组合:")
for i, val in enumerate(list(itertools.combinations('BCDEF', 4))):
print("序号:%s 值:%s" % (i + 1, ''.join(val)))
print("5个组合:")
for i, val in enumerate(list(itertools.combinations('BCDEF', 5))):
print("序号:%s 值:%s" % (i + 1, ''.join(val)))
python解决排列组合的更多相关文章
- python编写排列组合,密码生产功能
python编写排列组合 python在编写排列组合是会用到 itertools 模块 排列 import itertools mylist = list(itertools.permutation ...
- 【Python】排列组合itertools & 集合set
■itertools 利用python的itertools可以轻松地进行排列组合运算 itertools的方法基本上都返回迭代器 比如 •itertools.combinations('abcd',2 ...
- python 实现排列组合
1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍. 2.一个列表数据任意组合 2.1主要是利用自带的库 #_*_ coding:utf-8 _*_ #__author__ ...
- python 编写排列组合
python在编写排列组合是会用到 itertools 模块 排列 import itertools mylist = list(itertools.permutations([)) # 全排列 p ...
- Python实现排列组合
# -*- coding: utf-8 -*-"""Created on Sat Jun 30 11:49:56 2018 @author: zhen"&quo ...
- python算法-排列组合
排列组合 一.递归 1.自己调用自己 2.找到一个退出的条件 二.全排列:针对给定的一组数据,给出包含所有数据的排列的组合 1:1 1,2:[[1,2],[2,1]] 1,2,3:[[1,2,3],[ ...
- python之排列组合测试
# test permutations and combinations import itertools as it for i in it.combinations('abcd',2): prin ...
- python自带的排列组合函数
需求: 在你的面前有一个n阶的台阶,你一步只能上1级或者2级,请计算出你可以采用多少种不同的方法爬完这个楼梯?输入一个正整数表示这个台阶的级数,输出一个正整数表示有多少种方法爬完这个楼梯. 分析:提炼 ...
- 排列组合python
python 的 itertools模块 可以专业的处理的排列组合问题 写在自己博客里,怕下次找不到喽
随机推荐
- 09 webpack的介绍
webpack干嘛的?: 模块打包机,分析目录结构,找到js模块(包括浏览器不能直接识别的代码 typscript sass...),打包成合适的格式供浏览器访问 webpack是一款模块加载器兼打 ...
- (转载) 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
这一篇是从0开始搭建SQL Server AlwaysOn 的第四篇,这一篇开始搭建异地机房节点 注意点1 注意异地节点最好至少有2个AG节点,否则在本地节点进行手动故障转移的时候会出现仲裁警告,提示 ...
- call,apply,bind的用法及区别
<script> function test(){ console.log(this) } // new test(); //函数调用call方法的时候,就会执行. //call的参数:第 ...
- centOS下实践查询版本/CPU/内存/硬盘容量等硬件信息
更详细参考: https://blog.csdn.net/dream_broken/article/details/52883883 1.查看内存 DirectMap2M: 33544192 kB [ ...
- 99: AGC-018C 堆+思维
$des$有 $X + Y + Z$ 个人,第 $i$ 个人有 $A_i$ 个金币,$B_i$ 个银币,$C_i$ 个铜币.选出 $X$ 个人获得其金币,选出 $Y$ 个人获得其银币,选出 $Z$ 个 ...
- 洛谷 P1004 方格取数 题解
P1004 方格取数 题目描述 设有 \(N \times N\) 的方格图 \((N \le 9)\),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字\(0\).如下图所示(见样例): ...
- Processing中和值域相关的函数
今天在群里有人问了个问题:请教下啊,群里能有高手讲讲norm(), lerp(), map()么,英文的实在是没看懂呀?鉴于很多人初学Processing都没弄明白这3个函数的用法,我这里简单介绍一下 ...
- 洛谷P1514引水入城
题目 搜索加贪心其实并不需要用到\(DP\),搜索也是比较简单地搜索. 对于每个第一行的城市进行类似于滑雪那道题的搜索,然后记录最后一行它所覆盖的区间,易得一个一行城市只会有一个区间.然后可以在最后进 ...
- Linux 系统安装下安装 mysql5.7(glibc版)
转自:https://www.cnblogs.com/mujingyu/p/7689116.html 前言:经过一天半的折腾,终于把 mysql 5.7.17 版本安装上了 centos 7 系统上, ...
- maven ssm 编译异常记录:
maven ssm 编译异常记录: javax.servlet.jsp 解决: 清除 tomacat libraries 修改 pom 文件 <dependency> <groupI ...