Trimming trailing duplicates from a list
考虑以下列表:
1  | data = ['A', 'B', 'CAT', 'C', 'CAT', 'CAT', 'CAT']  | 
清单末尾的
1  | data = ['A', 'B', 'CAT', 'C', 'CAT']  | 
我想到的一个方法是:
1 2 3 4 5 6 7 8 9 10  | count = 0 for i in reversed(data): if i == 'CAT': count += 1 else: break if count > 1: del data[-count:]  | 
完成一个稍微小一些的任务需要很长时间。
怎么样:
1 2  | while len(data) > 1 and data[-1] == data[-2]: data.pop()  | 
这将修剪任何类型的尾随副本。如果您特别希望只修剪