python
2012-03-07 80 views 1 likes 
1

我只是想编写一个简单的脚本,从源打印每行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 

具体来说,我只是遇到问题搞清楚如何告诉蟒纹字的随机组的每行时间的随机数。这是一个列表理解可能有帮助吗?

我会很感激任何帮助,你可以给。谢谢!

+0

通过随机分组的单词,你的意思是来自你的来源的一行的话吗? – 2012-03-07 00:58:38

+0

在这一点上,我不在乎它的乱码,我的意思是将文件拆分成单词(我刚才意识到我没有包含在我的代码中),然后在每行上打印一个随机数字(1,10) 。 – spikem 2012-03-07 01:05:05

回答

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(人口ķ
       返回a k长度lis t从种群序列中选择独特的元素。用于无需更换的随机抽样。

因此,我们可以通过分割上的空白行创建​​,然后随机k,这应该给你你在找什么。

+0

你是对的,我误解了这个问题:)请注意,如果我将这个改变合并到我自己的答案中? – 2012-03-07 01:06:56

+0

@NiklasB。 - 一点也不。 – 2012-03-07 01:09:12

相关问题