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]]
最佳答案
>>> 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。