簡體   English   中英

如何在 python 的示例字符串中找到長度為 k 的所有重疊子字符串

[英]how to find all overlapping substrings of length k in a sample string in python

str1 = "ABCDEF"

我想在上面的字符串中找到長度為 3 的所有子字符串的列表,包括重疊例如:

list1 = ['ABC','BCD','CDE','DEF']

我嘗試了以下方法,但它錯過了重疊:

n = 3
lst = [str1[i:i+n] for i in range(0, len(str1), n)]
x = "ABCDEF"

print ([x[i:i+3] for i in range(len(x)-2)])

Output:

['ABC', 'BCD', 'CDE', 'DEF']

更普遍:

x = "ABCDEF"

n = 2

print ([x[i:i+n] for i in range(len(x)-n+1)])

Output:

['AB', 'BC', 'CD', 'DE', 'EF']

更一般地說:

x = "ABCDEF"

for n in range(len(x)+1):
    print ([x[i:i+n] for i in range(len(x)-n+1)])

Output:

['', '', '', '', '', '', '']
['A', 'B', 'C', 'D', 'E', 'F']
['AB', 'BC', 'CD', 'DE', 'EF']
['ABC', 'BCD', 'CDE', 'DEF']
['ABCD', 'BCDE', 'CDEF']
['ABCDE', 'BCDEF']
['ABCDEF']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM