如何获得列表的所有组合?

编程入门 行业动态 更新时间:2024-10-09 01:22:10
本文介绍了如何获得列表的所有组合?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我知道我可以使用itertools.permutation获取大小为r的所有排列。

但是,对于itertools.permutation([1,2,3,4],3),它将返回(1,2,3)和(1,3,2)。

  • 我要过滤这些重复项(即获取组合)

  • 有没有一种简单的方法可以获得(所有长度的)所有排列?

  • 如何将itertools.permutation()结果转换为常规列表?

  • 推荐答案

    使用itertoolsbinations和一个简单循环来获取所有大小的组合。

    combinations返回迭代器,因此您必须将其传递给list()才能查看其内容(或使用它)。

    >>> from itertools import combinations >>> lis = [1, 2, 3, 4] for i in xrange(1, len(lis) + 1): # xrange will return the values 1,2,3,4 in this loop print list(combinations(lis, i)) ... [(1,), (2,), (3,), (4,)] [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)] [(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)] [(1,2,3,4)]

    更多推荐

    如何获得列表的所有组合?

    本文发布于:2023-11-30 12:36:34,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1649982.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:组合   如何获得   列表

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!