您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 获取已排序的组合

5b51 2022/1/14 8:20:48 python 字数 2614 阅读 478 来源 www.jb51.cc/python

我有一个输入A = [2,0,1,3,2,2,0,1,1,2,0]. 下面我删除所有重复项A = list(Set(A)) A现在是[0,1,2,3].现在我希望我可以使用此列表进行所有对组合,但它们不需要是唯一的...因此[0,3]等于[3,0]和[2,3]等于[3,2] .在这个例子中它应该返回[[0,1],[0,2],[0,3],[1,2],[1,3]

概述

我有一个输入

A = [2,1,3,2,0].

下面我删除所有重复项

A = list(Set(A))

A现在是[0,3].现在我希望我可以使用此列表进行所有对组合,但它们不需要是唯一的…因此[0,3]等于[3,0]和[2,2] .在这个例子中它应该返回

[[0,1],[0,2],3],[1,[2,3]]

我该如何实现这一目标?我查看了iteratools lib.但无法提出解决方案.

>>> A = [2,0]
>>> A = sorted(set(A))   # list(set(A)) is not usually in order
>>> from itertools import combinations
>>> list(combinations(A,2))
[(0,1),(0,2),3),(1,(2,3)]

>>> map(list,combinations(A,2))
[[0,3]]
>>> help(combinations)
Help on class combinations in module itertools:

class combinations(__builtin__.object)
 |  combinations(iterable,r) --> combinations object
 |  
 |  Return successive r-length combinations of elements in the iterable.
 |  
 |  combinations(range(4),3) --> (0,3)
 |  
 |  Methods defined here:
 |  
 |  __getattribute__(...)
 |      x.__getattribute__('name') <==> x.name
 |  
 |  __iter__(...)
 |      x.__iter__() <==> iter(x)
 |  
 |  next(...)
 |      x.next() -> the next value,or raise StopIteration
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |  
 |  __new__ = 
  
   __new__ of type object>
 |      T.
   __new__(S,...) -> a new object with type S,a subtype of T

  

总结

以上是编程之家为你收集整理的python – 获取已排序的组合全部内容,希望文章能够帮你解决python – 获取已排序的组合所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶