我尝试使用 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);
原文由 iCodeLikeImDrunk 发布,翻译遵循 CC BY-SA 4.0 许可协议
这将返回从 0 到 99 范围内选择的 10 个数字的列表,没有重复。
参考您的特定代码示例,您可能希望从文件中读取所有行 _一次_,然后从内存中保存的列表中选择随机行。例如:
这样,您只需要在循环之前从文件中实际读取一次。这样做比回溯到文件的开头并在每次循环迭代中再次调用
f1.readlines()
效率更高。