我想知道下面的映射器和減速器函數是否有任何問題。這是項目的在Udacity的介紹對數據科學課程的一部分Python中的映射器和減速器函數
def mapper():
dic={}
for line in sys.stdin:
data=line.strip().split(" ")
for i in data:
dic[i]=1
for key, value in dic.iteritems():
print key,'\t', value
這裏值輸入作爲字符串用空格和功能分隔的單詞返回與字符串的每個字字典作爲「鑰匙」,它的計數1作爲'價值'。
def reducer():
dic={}
for line in sys.stdin:
data=line.strip().split('\t')
if data[0] in dic.keys():
dic[data[0]]+=1
else:
dic[data[0]]=data[1]
for key, value in dic.iteritems():
print key,'\t',value
這裏的值是由字符串和計數1組成的字符串輸入的,由單詞和標籤分隔。兩個函數的執行都不相同。我沒有得到正確的輸出。
你會得到什麼輸出? 你期待什麼輸出? 另外...對於這兩個函數,你必須在某個地方有一個'import sys',但是在你的代碼中沒有顯示。 –
我已經在我的代碼中寫入了導入sys ..只是忘了在這裏提到它! –