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

发布于 2021-02-02 23:14:06

我尝试使用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
被浏览
65
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    这将返回从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()为每次循环迭代再次调用相比,执行此操作效率更高。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看