字符串邻近去重

it2025-05-06  9

字符串邻近去重

def special_func_order(seq): list_ = [] # 定义一个空列表,用来存储判断后的数据 for i in range(len(seq) - 1): # 假如 len(seq) = 17 , 则range(16) --> 0-16 if seq[i] != seq[i + 1]: # i 从0到15, i+1 == 1-->16, 可迭代序列的索引就是0--15(包含了前16个) list_.append(seq[i]) # 第17个数字,如果和16个相同,那么16和17都不会被append;如果和16不同,那么,只会放16个,不会放17个 list_.append(seq[-1]) # 为了避免最后一个被遗漏,我们需要手动添加进去 # 下面的if判断,是用来判断输入数据的原来的type,根据原来的type,进行操作后的转化。 if isinstance(seq, list): print(list_) if isinstance(seq, tuple): print(tuple(list_)) else: myseq = ''.join(list_) print(myseq) _list = [1, 2, 3, 2, 3, 4, 5, 6, 6, 6, 8, 8] _tuple = (1, 2, 3, 2, 3, 4, 5, 6, 6, 6, 8, 8, 9) _str = 'AAABBBCDCCABBCcDD' special_func_order(_list ) special_func_order(_tuple) special_func_order(_str )

打印结果如下:

更多参考

https://blog.csdn.net/gymaisyl/article/details/85111561

最新回复(0)