python - 你如何创建一个随机的整数列表,但排除某个数字?
问题描述
我想在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)
推荐阅读
- curl - cURL NTLM 对 IIS8.5 的授权失败
- c# - 有没有办法在 bunit 测试中设置 OnAfterRender 方法的 firstRender-Variable?
- r - 使用 taskscheduleR 将任务计划程序设置为特定日期?
- c++ - 使用 struct 排队(出租车调度问题)
- forms - 如何使用绑定文本创建完全可定制的部分?
- java - 从 nginx 代理到 Chrome 中的 java 应用程序时缺少 cookie
- google-apps-script - Ranges 中的值(按命名范围)到变量
- azure - Azure DevOps - 禁止最近的推送者批准他们自己的更改 - 审阅者无法接受他自己的更改
- swift - RealmSwift 观察一组子对象(我认为)
- c# - 如何在 .NET 5.0 中添加肥皂网络服务作为参考