我试图获取列表中每个项目在Python中的字符串中的次数:
paragraph = "I eat bananas and a banana" def tester(x): return len(re.findall(x,paragraph)) map(tester, ['banana', 'loganberry', 'passion fruit'])
返回[2,0,0]
然而,我想要做的是扩展它,以便我可以将段落值提供给map()函数.现在,tester()函数有段硬编码.有没有人有办法做到这一点(也许是一个n长度的段落值列表)?还有其他想法吗?
请记住,每个数组值在将来的某个时刻都会有权重 - 因此需要将值保留在列表中而不是将它们全部加在一起.
更新:段落通常为20K,列表通常有200多个成员.我的想法是地图并行运行 - 因此它比任何串行方法都更有效率.
关闭将是一个快速的解决方案:
paragraph = "I eat bananas and a banana" def tester(s): def f(x): return len(re.findall(x,s)) return f print map(tester(paragraph), ['banana', 'loganberry', 'passion fruit'])