首页 > 解决方案 > 你如何创建一个随机的整数列表,但排除某个数字?

问题描述

我想在python中创建一个随机数字列表,但排除某个数字k。

我可以创建一个随机整数列表: l = [random.randint(0,10) for i in range(5)] 然后我可以删除数字 k,如果它在那里,并在该范围内添加另一个随机数,但这似乎步骤太多。

在研究这个时,很容易找出如何从一个范围内创建一个随机数并排除某个数字,例如: print (choice([i for i in range(0,9) if i not in [2,5,7]])) 我可以按照我需要创建数组的次数来执行此操作——但这​​似乎比必要的。

将不胜感激一些反馈

标签: pythonrandom

解决方案


列出范围内的数字,然后k从列表中删除。然后您可以使用random.choices()从列表中选择多个元素。

numbers = list(range(0, 11))
numbers.remove(k)
result = random.choices(numbers, k=5)

推荐阅读