首页 > 解决方案 > 如何从排列列表中生成数字?

问题描述

该程序获得 5 个随机数(0-9)。我将排列生成到一个列表中。一个例子:数字:0,1,2,3,4list = [(1,0,2,3,4),(1,0,2,4,3),...]我想得到:list = [10234,10243,...] 并且必须为0例外,当然数字不能以0开头。只接受5位数字。所以从示例中无法得到 1234,因为除了第一个之外的任何地方都必须包含 0。

import numpy as np
import itertools


m = np.random.randint(0,10,5)
m = list(m)
print(m)

x = set(itertools.permutations(m))
print(x)

标签: pythonrandompermutationitertools

解决方案


我相信您可以简单地添加:

list(map(int,(''.join(map(str,i)) for i in list(x) if i[0] != 0)))
# [44757, 44577, 47574, 74745, 74475,...

推荐阅读