Python从列表中删除特定的相邻重复项
我正在尝试仅当“10”的副本相邻时才删除它们 到目前为止,我一直在努力Python从列表中删除特定的相邻重复项,python,python-2.7,list,duplicates,Python,Python 2.7,List,Duplicates,我正在尝试仅当“10”的副本相邻时才删除它们 到目前为止,我一直在努力 I have a list x=['b1','00','00','10','10','F5','D1','01','01'...] # sample data 这将删除所有相邻的重复项,但我希望保留“00”、“00”和“01”,只删除“10”的重复项 如何使用列表理解来实现这一点?只需在列表理解中添加一个额外条件:或(x[I]!=“10”) 为什么它必须使用列表comp?@PM2Ring作业,可能只是添加一个额外的条
I have a list
x=['b1','00','00','10','10','F5','D1','01','01'...] # sample data
这将删除所有相邻的重复项,但我希望保留“00”、“00”和“01”,只删除“10”的重复项
如何使用列表理解来实现这一点?只需在列表理解中添加一个额外条件:
或(x[I]!=“10”)
为什么它必须使用列表comp?@PM2Ring作业,可能只是添加一个额外的条件-
或(x[i]!=“10”)
@andrew\u reece它成功了@Poka很棒-刚刚将我的评论变成了一个答案,如果你的问题得到解决,请标记接受。
my_list= [x[i] for i in range(len(x)) if (i==0) or ( x[i] !=x[i-1])] # current implementation
[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']