gpt4 book ai didi

python - 如何在列表中查找特定长度的重复序列?

转载 作者:行者123 更新时间:2023-12-01 08:09:23 24 4
gpt4 key购买 nike

我有一个非常很长的字符串列表。我必须找出 n 个连续字符串的序列是否在列表中重复。

我已经查找了检测此类序列的其他答案。然而,它们中的大多数都专注于检测连续重复的单个已知序列。在这种情况下,它们可以是不同的序列,中间有随机字符串重复。

例如:

long_list = ['execve','brk','getpid','time','read','write','exit','read','call','execve','brk','getpid','read','write','exit']

如果 n=3,算法应输出如下内容:

{['execve','brk','getpid']:2,['read','write','exit']:2}

如果以前已经回答过这样的问题,我已经查了很多,但我找不到任何相关的内容。非常感谢任何帮助。

最佳答案

有这样的事吗?现在检查出现次数是否比 1 更常见。

from collections import Counter

long_list = ['execve','brk','getpid','time','read','write','exit','read','call','execve','brk','getpid','read','write','exit']

def find_length_n(n):
matches = []
for idx, word in enumerate(long_list):
tmp_string = long_list[idx:idx+n]
matches.append(str(tmp_string))

for key, val in Counter(matches).items():
if val >= 2:
print(key, val)

find_length_n(3)

将输出:

['execve', 'brk', 'getpid'] 2
['read', 'write', 'exit'] 2

关于python - 如何在列表中查找特定长度的重复序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55355135/

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