繁体   English   中英

使用 python 从文本文件中获取“n”个唯一随机行

[英]Get 'n' Unique random lines from a text file using python

我有一个约 1000 行的文本文件,我想从文本文件中获取唯一(不重复)的随机 15 行。

我试过这个。

from random import choice
lines = [a.strip() for a in open("FailsCollection.txt").readlines()]
result = [choice(lines) for a in range(15)]

但这不是选择唯一的行,有时同一行在 15 行 output 中重复。

这里的答案我也试过这个

import random
from random import choice
lines = [a.strip() for a in open("FailsCollection.txt").readlines()]
result = [choice(lines) for a in random.sample(range(1, 1000), 15)]

但同样,这些线条并不是独一无二的。

任何人都可以请建议。 提前致谢。

简单一:

import random

with open("FailsCollection.txt") as f:
    result = random.sample(list(f), 15)

使用random.sample

试试这个代码:

from random import sample
n=15
indexes = random.sample(range(0,1000),n)
file = open("FailsCollection.txt").readlines()
lines = []
for i in indexes:
   lines.append(file[i].strip())
print(lines)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM