我正在努力解决一个简单的字数计算问题,并试图找出是否可以通过使用map,filter和reduce来完成。你知道吗
以下是wordRDD(用于spark的列表)的示例:
myLst = ['cats', 'elephants', 'rats', 'rats', 'cats', 'cats']
我只需要数一数单词并以元组格式呈现:
counts = [('cat', 1), ('elephant', 1), ('rat', 1), ('rat', 1), ('cat', 1)]
我尝试使用simple map()和lambdas作为:
counts = myLst.map(lambdas x: (x, <HERE IS THE PROBLEM>))
我可能是语法错误,或者可能是混淆了。 注意:这不是重复的问题,因为其余答案使用if/else或列表理解给出建议。你知道吗
谢谢你的帮助。你知道吗
你根本不需要
map(..)
。你只要reduce(..)
就可以做到然后可以对结果进行迭代。你知道吗
但是,有一个更好的方法:查看^{}
不使用lambda但可以完成任务。你知道吗
以及输出:
如果您不想为自己完成完整的reduce步骤(它汇总了SuperSaiyan答案中的计数),可以这样使用map:
相关问题 更多 >
编程相关推荐