python - 生成两个不同的随机数列表
问题描述
我想生成两个不同的随机数列表。条件是第一个列表索引的值不能等于同一索引中的第二个列表值。
例如a=[5,6,7,5]
,q=[2,7,3,5]
在这种情况下,列表 q 中第四个索引的值等于列表 a 中相同索引中的值。我想避免这种情况。我创建了如下列表
import random
a=[]
b=list(range(1,7164))
for i in b:
t=random.randint(1,20)
a.append(t)
如何生成具有上述条件的第二个列表?
解决方案
import random
def generate_n_lists(num_of_lists, num_of_elements, value_from=0, value_to=100):
s = random.sample(range(value_from, value_to + 1), num_of_lists * num_of_elements)
return [s[i*num_of_elements:(i+1)*num_of_elements] for i in range(num_of_lists)]
print(generate_n_lists(2, 5, 0, 20)) # generate 2 lists, each 5 elements, values are from 0 to 20
印刷:
[[1, 16, 4, 3, 15], [0, 10, 14, 17, 7]]
推荐阅读
- reactjs - reactjs中同步调用函数
- python - 将我自己的函数导入 Azure 计时器触发器
- android - libav sws_scale() 在真实设备上的色彩空间转换失败,适用于模拟器
- apache-kafka - 当来自 kafka 的消息被读取为 Ktable 时,当它被读取为 Kstreams 并转换为 Ktable 时?
- intellij-idea - 忽略 Intellij/Pycharm 搜索的排除目录中的文件
- java - 使用 brew 启动 cassandra 时出错,显示以黄色开始
- iphone - 定位服务的应用程序权限弹出窗口从不显示在屏幕录制的视频中
- python - 在 Jupyter Notebook 中可视化决策树
- php - PHP Post 操作总是以状态 200 结束
- bash - Unix :: AWK 意外删除了第一行