使用python从单词列表中查找长度为2的单词的所有组合

时间:2017-08-02 09:27:01

标签: python

    temp1 = []
    filtered_tokens = ['once','upon','a','time','in','the','forest']
    for i in range(len(filtered_tokens)):
        for j in range(i+1,len(filtered_tokens)):
            temp1.append(filtered_tokens[i]+' '+filtered_tokens[j])

filetered_list ,在上面的代码中包含10,000个单词,我只给出了样本列表。

我需要输出:一次,一次,一次,一次,一次森林,一次,一次,一次,一次,一次森林,一次,一次,森林,时间,时间,时间森林,森林,森林

当我编写逻辑并运行它时,编译器在运行时抛出低内存异常。

请帮助我如何使用组合或任何其他python语言解决此问题。

谢谢

1 个答案:

答案 0 :(得分:5)

对于组合,您可以使用 itertools 模块。

import itertools
temp1 = itertools.combinations(filtered_tokens, 2)

将创建2个单词的所有组合。如果你想要列表只是转换生成器:

temp1 = list(temp1)