gpt4 book ai didi

python - Python 文本中重复的短语 _ Follow up

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:26 25 4
gpt4 key购买 nike

另一位用户已经开启了关于如何在 Python 中查找重复短语的讨论,但只关注三个单词的短语。

罗伯特·罗斯尼的答案是完整且有效的(在这里 repeated phrases in the text Python ),但是我可以要求一种简单地查找重复短语的方法,而不管它们的长度吗?我认为可以详细说明前面讨论中已经详细说明的方法,但我不太确定如何做到这一点。

我认为可以修改这个函数以返回不同长度的元组:

def phrases(words):
phrase = []
for word in words:
phrase.append(word)
if len(phrase) > 3:
phrase.remove(phrase[0])
if len(phrase) == 3:
yield tuple(phrase)

最佳答案

一个简单的修改是将字长传递给 phrases 方法,然后以不同的字长调用该方法。

def phrases(words, wlen):
phrase = []
for word in words:
phrase.append(word)
if len(phrase) > wlen:
phrase.remove(phrase[0])
if len(phrase) == wlen:
yield tuple(phrase)

然后将all_phrases定义为

def all_phrases(words):
for l in range(1, len(words)):
yield phrases(words, l)

然后使用它的一种方法是

for w in all_phrases(words):
for g in w:
print g

对于 words = ['oer', 'the', 'bright', 'blue', 'sea'],它会生成:

('oer',)
('the',)
('bright',)
('blue',)
('sea',)
('oer', 'the')
('the', 'bright')
('bright', 'blue')
('blue', 'sea')
('oer', 'the', 'bright')
('the', 'bright', 'blue')
('bright', 'blue', 'sea')
('oer', 'the', 'bright', 'blue')
('the', 'bright', 'blue', 'sea')

关于python - Python 文本中重复的短语 _ Follow up,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22326985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com