我使用這生成文本:店輸出文本,而不是列出
for i in xrange(100):
sys.stdout.write(alphabet[bisect.bisect(f_list, random.random()) - 1])
我得到的輸出將是這樣的:
fnhtlr hhub del tn eleo s d nerowepeldhoantah yf tr e saetenwgkoyears
oenooe urbmhonnrniwc iasseb
,我想知道如何存儲輸出作爲TEXT,不是一個列表,所以我可以使用fd.inc(單詞)就可以了。我基本上試圖用我的隨機輸出來繪製Zipf定律。
,如果我用這個:
text1 = [alphabet[bisect.bisect(f_list, random.random())] for i in xrange(300)]
我的輸出存儲成一個列表和FD不進行這項工作,因爲它認爲每個字符是一個單獨的詞。
for word in text1:
fd.inc(word)
print fd
<FreqDist: ' ': 1776, 'e': 1008, 'a': 752, 't': 750, 'n': 604, 'i': 586,
'o': 556, 'h': 542, 's': 528, 'r': 478, 'l': 388, 'd': 312, 'u': 242,
'm': 202, 'w': 192, 'g': 172, 'b': 152, 'p': 152, 'f': 150, 'c': 148, 'y': 120,
'k': 90, 'v': 66, 'q': 12, 'z': 10, 'x': 8, 'j': 4>
我希望由空格分隔的每個字母序列被認爲是一個詞,即輸出被視爲文本。
謝謝你的幫助!
當你說「文」我相信你的意思是「字符串」: ) – 2011-12-30 09:59:30
什麼是'fd.inc'?對於這個問題,'alphabet'和'f_list'是什麼? – 2011-12-30 10:07:22
抱歉讓我更加確切:字母表是string.lowercase +'',f_list是我在Moby Dick中發現的字母和空白的累積頻率。然後我生成一個隨機數,它與f_list匹配,這反過來又給了我一個「隨機」字母。這是我如何得到我的「隨機」文本,從字母和空白的頻率在moby雞巴。 f_list = [0,0.068,0.083,0.103等] – Julia 2011-12-30 10:13:19