【问题标题】:generate all combinations from 3 numbers [duplicate]从3个数字生成所有组合[重复]
【发布时间】:2013-12-13 18:39:03
【问题描述】:

要在 python 中生成 3 个(或更多)数字的所有排列,可以使用 itertools.permutations。 如何以两个为一组生成组合。

例如。 :输入数字列表:[1, 2, 3] 并输出:[1,2], [2,3], [1,3]

【问题讨论】:

  • itertools.combinations(li,2)
  • 我不知道为什么我得到了反对票,之前在 SO 上没有任何这样的问题......
  • @AbhishekThakur - 我不认为人们因为它是一个骗子而否决了这个(事实上,我认为提议的骗子并不是一个很好的)。拒绝接受欺骗是违反本网站的精神的。相反,我认为您之所以被否决,是因为您没有表现出足够的努力来自己解决问题。虽然我个人通常会为此投票结束这个问题,但有些人会更认真地对待它并投反对票。否则他们没有足够的声誉来投票结束问题。

标签: python


【解决方案1】:

使用itertools.combinations:

>>> from itertools import combinations
>>> lst = [1, 2, 3]
>>> list(combinations(lst, 2))
[(1, 2), (1, 3), (2, 3)]
>>> [list(x) for x in combinations(lst, 2)]
[[1, 2], [1, 3], [2, 3]]
>>>

【讨论】:

    【解决方案2】:
    itertools.combinations(iterable, r)
    

    例子:

    for x in itertools.combinations([1,2,3],2):
        print x
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多