python - 如何从排列列表中生成数字?
问题描述
该程序获得 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)
解决方案
我相信您可以简单地添加:
list(map(int,(''.join(map(str,i)) for i in list(x) if i[0] != 0)))
# [44757, 44577, 47574, 74745, 74475,...
推荐阅读
- excel - 添加/删除行但仅一次时的VBA消息框
- javascript - 在javascript中给出2个函数的序列
- arrays - 数组没有通过在 excel vba 中使用函数来获取值
- python - 如何通过 FastAPI 后端上的 websocket 连接提供实时数据库更新
- python - gensim.models.docvecs.doctag_syn0norm 的属性错误
- android - 自动连接到父按钮不可见
- python - 使用 Python 请求向本地主机发送 POST 请求
- canvas - 为什么 webgl 画布上下文比 2d 画布使用更多的内存?
- r - 从 R 中的某个列开始将后续列向上移动一个额外的位置(滞后)
- linux - 如何在 Oracle Linux 7 上安装离线 RabbitMQ