2016-09-26 43 views

回答

1

您可以使用itertools.groupby找到元素的“运行”并构建一个新列表从那里:

import itertools 

L = [A,B,B,C,C,C] 
answer = [] 
for _k, group in itertools.groupby(L): 
    group = list(group) 
    if len(group) == 1: 
     answer.extend(group) 
     continue 
    answer.extend(("{}-{}".format(e,i) for i,e in enumerate(group, 1))) 
相关问题