我想知道下面的映射器和减速器函数是否有任何问题。这是项目的在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 ..只是忘了在这里提到它! –