python - 生成一个列表随机数消除Python中另一个列表中的随机数
问题描述
我想生成第一个列表中不存在的随机数列表。保持列表的大小与第一个相似。我已经完成了 R 如下。例子:
bb <- 样本(1:25,10)
bb
[1] 11 19 23 15 25 12 14 21 10 4
wd <- 样本((1:25)[-bb],10)
wd
[1] 13 1 5 9 22 3 2 24 7 16
我希望在 python 中复制同样的东西。我尝试了几种无用的方法。
请帮助..提前感谢
解决方案
你可以尝试这样的事情:
import random
l1 = [11, 19, 23, 15, 25, 12, 14, 21, 10, 4]
l2 = []
while len(l2) < len(l1):
while True:
r = random.randint(1, 25)
if r not in l1 and r not in l2:
l2.append(r)
break
print(l2) #==> [16, 20, 2, 9, 3, 18, 6, 24, 17, 7]
推荐阅读
- pyspark-dataframes - 在pyspark中将字符串转换为日期
- python - 提取单词直到某个符号
- prolog - Prolog 中的大于和小于值
- ssl - open.connection(x, "rb") 中的错误:schannel:接收握手失败,SSL/TLS 连接失败 [R studio]
- python - 为什么我的代码不适用于循环和 if 条件?
- excel - python脚本将行从1个excel表粘贴到另一个。粘贴应该是“按值粘贴”
- python - 如何在使用不同 np 形状的地方使用 np
- sql - 根据奇数和偶数将 2 列分为 4
- php - 在 laravel 6.1 中找不到类“Illuminate\Session\CommandsServiceProvider”
- node.js - 将 bufferCommands 设置为 false 在 MongooseJs 中不起作用