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 randomrandom.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