把字符数组中的字符串进行分类:
eg:["ab","abcd","abb","abcddd","abbb","ccd"] ,“ab”、“abb”、“abbb”同时包含字母a\b则为一类,则该字符数组总共有3类
答题思路:
- 遍历整个字符数组
- 把寻找1中没个元素包含的字符类型
- 把字符类型作为建,同一类型的原始字符存放到list中作为建对应的值
def long2(s):
length = len(s)
dict1 = {}
dict2 = {}
res = 0
for 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] = list2
else:
list2=dict2[tmp]
list2.append(string)
dict2[tmp]=list2
for 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']})