首页 > 解决方案 > 如何生成由 n 位组成的数字列表?

问题描述

我们可以从 n 位生成多少个数字?例如:从1,2,3,我们可以生成1,2,3,12,13,21,....321。我们如何在 python 中生成包含这些数字的列表?

标签: pythonfunctionrecursionnumbers

解决方案


低效的解决方案。

l=[1,2,3]
from itertools import permutations
for i in range(1, len(l)+1):
    print [k for k in permutations(l, i)]

输出: [(1,), (2,), (3,)] [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)] [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]


推荐阅读