我想在 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]]))
我可以按照我需要创建数组的次数来执行此操作——但这似乎比必要的。
希望得到一些反馈
列出范围内的数字,然后k从列表中删除。然后您可以使用random.choices()从列表中选择多个元素。
numbers = list(range(0, 11))
numbers.remove(k)
result = random.choices(numbers, k=5)
Run Code Online (Sandbox Code Playgroud)