Python从整数创建所有可能的组合

时间:2017-06-07 07:47:01

标签: python

我有整数,例如“123”,使用此我想创建下面列出的所有可能的组合。 123 12,3 1,23等等,不管我输入的数字。 有没有办法使用python同样的?我无法理解。

2 个答案:

答案 0 :(得分:0)

这样可行:

import itertools

stuff = list('123')
for L in range(0, len(stuff)+1):
  for subset in itertools.combinations(stuff, L):
    print(subset)

输出:

()
(1,)
(2,)
(3,)
(1, 2)
(1, 3)
(2, 3)
(1, 2, 3)

答案 1 :(得分:0)

我想这就是你要找的东西:

num = 123
s = str(num)
[[x for x in i if x is not '' and ' '] for i in [list(s.partition(item)) for item in list(s+' ')]]

输出:

[['1', '23'], ['1', '2', '3'], ['12', '3'], ['123']]

你也可以使用元组:

s = str(num)
[tuple([x for x in i if x is not '' and ' ']) for i in [list(s.partition(item)) for item in list(s+' ')]]

输出:

[('1', '23'), ('1', '2', '3'), ('12', '3'), ('123',)]