我只是想写一个简单的脚本,每行打印1到10个单词。我知道这应该是超级简单但我有一个大脑放屁。这是我最好的猜测:
import random
s = open("somefile.txt").readlines()
for line in s:
line.strip()
rand_int = rand.randint(1,10)
sentence = ''.join(s,rand_int)
print sentence
具体来说,我只是想弄清楚如何告诉python打印每行随机数字的随机组。这是列表理解可能有用的东西吗?
我很感激你能给予的任何帮助。谢谢!
答案 0 :(得分:2)
尝试以下方法:
import random
with open("somefile.txt", "rb") as f:
for line in f:
print ' '.join(random.sample(line.strip().split(), random.randint(1, 10)))
以下是random.sample()
的文档的一部分:
random.sample(人口, k )
返回从总体序列中选择的唯一元素的 k 长度列表。用于无需替换的随机抽样。
因此,我们可以通过在空白处拆分行来创建population
,然后随机化k
,这可以为您提供所需内容。