问题描述如下
一个文本文件,如何按行乱序输出
这是我在工作中真实遇到的一个小问题,当时的场景是这样的,我们做了一个从网页里提取图片的策略,为了提升策略的效果我们需要找一些badcase,再针对这些badcase做优化,找专人评估既有沟通成本还要等排期,于是经理鼓动组内同事每人评估100个样本,当然,评估的样本必须是随机的,给每个人分配100个随机样本的任务就落到了我身上。此是背景。
我们姑且认为一个样本就是一行文本(实际上是这个文本对应的百度搜索结果,这样说是为了将问题简化),遗憾的是我拿到的一个大样本集合(大约几百万)是已经排好序的,如果我按顺序将每100行进行分割那会导致这100行内的样本不是随机的,如果有一个算法能从大样本中随机抽100条,那每运行一次,将抽取到的样本从中剔除,如此循环也能完成任务,但这样的可操作性显然是非常低的,而那时我可能需要在半个小时之内就将样本分配好,于是我想了一个办法,将这个问题分解为两步:1、将大样本集合按行打乱;2、按顺序将每100行分割成一个文本。步骤1使得整个文件的每行是以随机顺序出现的,这样我按顺序取的每100行自然也是随机的
步骤2用