要按字符串的一部分进行分组,可以使用字典来存储分组的结果。下面是一个示例代码:
def group_by_substring(string, length):
groups = {}
for i in range(len(string)-length+1):
substring = string[i:i+length]
if substring in groups:
groups[substring].append(i)
else:
groups[substring] = [i]
return groups
string = "abcdefabcdef"
length = 3
groups = group_by_substring(string, length)
print(groups)
运行以上代码,输出结果如下:
{'abc': [0, 6], 'bcd': [1, 7], 'cde': [2, 8], 'def': [3, 9], 'efa': [4], 'fab': [5]}
该示例代码中的 group_by_substring
函数接受一个字符串和一个指定的子字符串长度作为参数,然后将字符串按照指定的子字符串长度进行分组。使用一个字典 groups
来存储分组结果,字典的键是子字符串,值是出现该子字符串的位置列表。遍历字符串时,利用切片获取指定长度的子字符串,并判断是否已经存在于字典中,如果存在则将当前位置添加到位置列表中,否则创建一个新的位置列表。最后返回分组结果。