我必须在字典中连接文本的连续单词。
案文是:
text = "Hello world I am Josh"
字典将是:
dict = {Hello:[world], world:[Hello, I], I:[am, world], am:[I, Josh], Josh:[am]}
键是文本中的所有单词,值是连续的单词。 有人有想法弃权吗?
答案 0 :(得分:4)
使用 pairwise
recipe from itertools
:
def pairwise(iterable):
a, b = tee(iterable)
next(b, None)
return izip(a, b)
adjacent = collections.defaultdict(list)
for left, right in pairwise(text.split()):
adjacent[right].append(left)
adjacent[left].append(right)
您的问题不会考虑一个单词出现在句子中的可能性不止一次。您可能需要set
而不是list
个相邻字词。句子中的标点符号也可能毁掉你的一天,因此根据你的要求,你可能需要做的不仅仅是split()
。