0
我寫了一個mapper,打印出單詞對,每個單詞對的計數爲1。單詞對的組合計數:python
import sys
from itertools import tee
for line in sys.stdin:
line = line.strip()
words = line.split()
def pairs(lst):
return zip(lst,lst[1:]+[lst[0]])
for i in pairs(words):
print i,1
我試過編寫一個創建字典的簡化器,但是我總是在總結它們。
import sys
mydict = dict()
for line in sys.stdin:
(word,cnt) = line.strip().split('\t') #\t
mydict[word] = mydict.get(word,0)+1
for word,cnt in mydict.items():
print word,cnt
但它說沒有足夠的參數在.split行,想法?謝謝。
每次你完成遍歷'for line in sys.stdin:','words'結束等於最後一行,並且最後一行單獨結束。那麼你的'sys.stdin'究竟是什麼樣的? – TehTris 2014-10-16 22:05:25
分裂後**線**它變成**列表** – Anzel 2014-10-16 22:06:15
爲什麼你在不使用'cnt'時使用'(word,cnt)'? – 2014-10-16 22:21:05