I have a list
x=['b1','00','00','10','10','F5','D1','01','01'...] # sample data
我正尝试仅在相邻的'10'处删除它们。
到目前为止,我已经尝试过
my_list= [x[i] for i in range(len(x)) if (i==0) or ( x[i] !=x[i-1])] # current implementation
这会删除所有相邻的重复项,但我要保留'00','00'和'01',而只删除'10'的重复项
如何使用列表理解来实现这一目标?
答案 0 :(得分:1)
只需在列表理解中添加一个附加条件:or (x[i] != '10')
。
[x[i] for i in range(len(x)) if (i==0) or (x[i] !=x[i-1]) or (x[i] != '10')]
# ['b1', '00', '00', '10', 'F5', 'D1', '01', '01']