Python-如何创建无重复的随机数列表?

我尝试使用random.randint(0, 100),但一些数字相同。有没有一种方法/模块来创建唯一的随机数列表?

def getScores():

# open files to read and write

f1 = open("page.txt", "r");

p1 = open("pgRes.txt", "a");

gScores = [];

bScores = [];

yScores = [];

# run 50 tests of 40 random queries to implement "bootstrapping" method

for i in range(50):

# get 40 random queries from the 50

lines = random.sample(f1.readlines(), 40);

回答:

这将返回从0到99范围内选择的10个数字的列表,没有重复。

import random

random.sample(range(100), 10)

参考你的特定代码示例,你可能希望一次从文件中读取所有行,然后从内存中的已保存列表中选择随机行。例如:

all_lines = f1.readlines()

for i in range(50):

lines = random.sample(all_lines, 40)

这样,你只需要在循环之前实际从文件中读取一次即可。与返回文件开头并f1.readlines()为每次循环迭代再次调用相比,执行此操作效率更高。

以上是 Python-如何创建无重复的随机数列表? 的全部内容, 来源链接: utcz.com/qa/412602.html

回到顶部