假设我有一个字符串(mystring)。我想提取mystring的所有可能的子字符串,只要子字符串的长度是8-15。我已经能够做到这一点没有问题(见下面的代码)。但是,如果我只想在这些子字符串与mystring的某个部分重叠时提取它们呢?重叠是由mystring中的位置定义的,而不是mystring中的某个字母,因为这些字母在mystring中不是唯一的。你知道吗
在下面的示例中,我可能希望我的子字符串包含从零开始的索引11。你知道吗
mystring = "JACKANDJILLRANUPTHEHILLFORWATER"
substrings = set()
for i in range(0, len(mystring)):
for length in range(8,16):
ss = mystring[i:i+length]
if len(ss) == length:
substrings.add(ss)
简单回答
您可以通过检查
i <= 11 < i + length
来检查11
是否包含在[i, i + length)
中:设置理解
你可以这样做:
相关问题 更多 >
编程相关推荐