小码问答,有问必答!

求算法:假设文件夹中有100个文件,随机返回其中2个文件,日期越新的选中概率越大

Python

收藏

1个回答

我要回答

  • author
    牛叔叔 2021-01-23 15:37
    count = 2
    demodata = [(f"第{i}个数据",i) for i in range(100)]
    result = []
    demodata = sorted(demodata,key=lambda x:x[1],reverse=True)
    demodata = random.sample(demodata[0:count*2+random.randint(0,len(demodata)-count*2)],k=count)
    
    print(demodata)

    假设100个数据,i代表数据的时间,先按照时间逆序排序,再从这个序列中从0开始随机取一个长度缩小的新序列,但是一定大于2,然后从这个序列中随机选取2个不同的元素。


    使用了random模块中的sample方法