定义 函数如下:
def fac_cpx(w):
keep_str = []
for j in range(len(w)+1):
for i in range(len(w)-j+1):
keep_str.append(w[i:i+j])
keep_str = list(filter(None,keep_str))
keep_str_set = set(keep_str)
keep_str_sorted = sorted(keep_str_set,key = lambda i:len(i),reverse=False)
keep_num = []
for i in range(1,len(w)+1):
temporary_list =[]
for j in range(len(keep_str_sorted)):
if len(keep_str_sorted[j]) == i:
temporary_list.append(keep_str_sorted[j])
keep_num.append(temporary_list)
fac_num = []
for i in range(len(keep_num)):
fac_num.append(len(keep_num[i]))
return fac_num
“INPVQQQNQIGYPQPYGQWGQWYGNAQQIGQYMPNGWQVPAYGMYGQAWNQQGFNQTQSSAPWMGPNYGVQPPQGQNGSMLPNQPSGYRVAGYETQ”为例,得到结果如下: