美文网首页
排列组合库

排列组合库

作者: 领带衬有黄金 | 来源:发表于2019-07-16 14:02 被阅读0次

product 笛卡尔积  (有放回抽样排列)

permutations 排列  (不放回抽样排列)

combinations 组合,没有重复  (不放回抽样组合)

combinations_with_replacement 组合,有重复  (有放回抽样组合)

详细的参见官网

import itertools
for i in itertools.product('ABCD', repeat = 2):
    print(i)
结果:('A', 'A') ('A', 'B') ('A', 'C') ('A', 'D') ('B', 'A') ('B', 'B') ('B', 'C') ('B', 'D') ('C', 'A') ('C', 'B') 
('C', 'C') ('C', 'D') ('D', 'A') ('D', 'B') ('D', 'C') ('D', 'D')
for i in itertools.permutations('ABCD', 2):
     print(i)
结果:('A', 'B') ('A', 'C') ('A', 'D') ('B', 'A') ('B', 'C') ('B', 'D') ('C', 'A') ('C', 'B') ('C', 'D') ('D', 'A')
 ('D', 'B') ('D', 'C')
for i in itertools.combinations('ABCD', 2):
     print(i)
结果:('A', 'B') ('A', 'C') ('A', 'D') ('B', 'C') ('B', 'D') ('C', 'D')
for i in itertools.combinations_with_replacement('ABCD', 2):
     print(i)
结果: ('A', 'A') ('A', 'B') ('A', 'C') ('A', 'D') ('B', 'B') ('B', 'C') ('B', 'D') ('C', 'C') ('C', 'D') ('D', 'D')

还有就是,combinations和permutations返回的是对象地址,原因是在python3里面,返回值已经不再是list,而是iterators(迭代器), 所以想要使用,只用将iterator 转换成list 即可, 还有其他一些函数返回的也是一个对象,需要list转换,比如 list(map())等

相关文章

  • 排列组合库

    product 笛卡尔积(有放回抽样排列) permutations 排列(不放回抽样排列) combinatio...

  • 用Python进行排列组合

    如何用Python实现排列组合?Python原生自带的库itertools即可解决 排列 组合这里用到combin...

  • 排列组合-js

    排列组合 数学相关知识:5分钟彻底了解排列组合 参考:程序员必备算法——排列组合 排列有序,组合无序 3选2 :排...

  • 排列组合

    python 实现 排列组合

  • 排列组合公式及排列组合算法

    排列组合公式 排列组合公式/排列组合计算公式 公式P是指排列,从N个元素取M个进行排列。 公式C是指组合,从N个元...

  • Leetcode日记:46&47.排列组合与回溯(backtra

    Leetcode日记:46&47.排列组合与回溯(backtrack) 46排列组合1 题目 Given a co...

  • NO.155 2018-09-06

    1.创新就是对原有材料的重新排列组合,所以要学会做已有案例的搬运工,建立起自己的资料库。 古代讲究“博闻强记”,既...

  • 排列组合

    高中没有学会的排列组合,大学更不会,现在要拾起来,只能理解一个插空法了,我愿意插空在你周围,可是你不在了,我的排列...

  • 排列组合

    排列(Arrangement/Permutation) 百度百科:从n个不同元素中取出m(m≤n)个元素,按照一定...

  • 『排列组合』

    那些排列组合你舍得解开吗?✨ 细嗅那些生活的气息。温暖绵长,意蕴久远。 清明节回家,还是家的感觉温馨美好。陪妈妈逛...

网友评论

      本文标题:排列组合库

      本文链接:https://www.haomeiwen.com/subject/tpazkctx.html