把字符数组中的字符串进行分类:
eg:["ab","abcd","abb","abcddd","abbb","ccd"] ,“ab”、“abb”、“abbb”同时包含字母a\b则为一类,则该字符数组总共有3类
def long2(s):length = len(s)dict1 = {}dict2 = {}res = 0for string in s:list1=[]for i in range(len(string)):if string[i] not in list1:list1.append(string[i])tmp = ''.join(list1) if tmp not in dict2:list2=[]list2.append(string)dict2[tmp] = list2else:list2=dict2[tmp]list2.append(string)dict2[tmp]=list2for k,v in dict2.items():dict1[k]=len(v)return(dict1,dict2)if __name__ == '__main__':s = ["ab","abcd","abb","abcddd","abbb","ccd"]print(long2(s))
输出结果:
({'ab': 3, 'abcd': 2, 'cd': 1}, {'ab': ['ab', 'abb', 'abbb'], 'abcd': ['abcd', 'abcddd'], 'cd': ['ccd']})