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语言解决此问题。
谢谢
答案 0 :(得分:5)
对于组合,您可以使用 itertools 模块。
import itertools
temp1 = itertools.combinations(filtered_tokens, 2)
将创建2个单词的所有组合。如果你想要列表只是转换生成器:
temp1 = list(temp1)