每行打印随机数字

时间:2012-03-07 00:55:38

标签: python

我只是想写一个简单的脚本,每行打印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打印每行随机数字的随机组。这是列表理解可能有用的东西吗?

我很感激你能给予的任何帮助。谢谢!

1 个答案:

答案 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,这可以为您提供所需内容。