用于相邻对的Python映射器



我正在尝试编写一个mapreduce程序,这是映射部分,它从stdin文本中返回bigram或相邻单词对。

这是我的概念/半伪:

for line in sys.stdin:
    line = line.strip()
    words = line.split()
    for pair in words: #HERE***
        print '%st%s' % (pair,1)

我如何提取一对相邻的单词,以便输出所有相邻的单词对,如"word1 word2,1",以便在我的reductor中组合它们?我希望格式尽可能接近这个。

谢谢。

您可以这样对它们进行配对:

from itertools import tee
def pairwise(iterable):
    "s -> (s0,s1), (s1,s2), (s2, s3), ..."
    a, b = tee(iterable)
    next(b, None)
    return zip(a, b)

相关内容

  • 没有找到相关文章

最新更新