Python列表去重顺序不变

列表去重顺序不变

集合方式

bpmlist1=['IN-BI:SBPM%d' % i for i in np.arange(1,7)]
bpmpvlist1 = [bpm+':POS_X' for bpm in bpmlist1]+[bpm+':POS_Y' for bpm in bpmlist1]
bpmpvlist = list(map(lambda x: x.replace(':POS_X',''),bpmpvlist1))
bpmpvlist = list(map(lambda x: x.replace(':POS_Y',''),bpmpvlist)
bpmpvlist2 = list(set(bpmpvlist)))
#集合的方式去重会使顺序打乱,通过sort的方式
bpmpvlist2.sort(key=bpmpvlist.index)
print(bpmpvlist2)
#上面方式未保留原列表,使用sorted方式保留原列表
bpmpvlist2 = sorted(bpmpvlist2,key=bpmpvlist.index)
print(bpmpvlist2)

字典方式

bpmlist1=['IN-BI:SBPM%d' % i for i in np.arange(1,7)]
bpmpvlist = [bpm+':POS_X' for bpm in bpmlist1]+[bpm+':POS_Y' for bpm in bpmlist1]
bpmpvlist = list(map(lambda x: x.replace(':POS_X',''),bpmpvlist))
bpmpvlist = list(map(lambda x: x.replace(':POS_Y',''),bpmpvlist))
mylist = list(dict.fromkeys(bpmpvlist))
print(mylist)

遍历方式

bpmlist1=['IN-BI:SBPM%d' % i for i in np.arange(1,7)]
bpmpvlist = [bpm+':POS_X' for bpm in bpmlist1]+[bpm+':POS_Y' for bpm in bpmlist1]
bpmpvlist = list(map(lambda x: x.replace(':POS_X',''),bpmpvlist))
bpmpvlist = list(map(lambda x: x.replace(':POS_Y',''),bpmpvlist))
n = []
[n.append(i) for i in bpmpvlist if not i in n]
print(n)

更简洁的应用示例

  • 法一
bpmlist1=['IN-BI:SBPM%d' % i for i in np.arange(1,7)]
bpmpvlist = [bpm+':POS_X' for bpm in bpmlist1]+[bpm+':POS_Y' for bpm in bpmlist1]
bpmpvlist = [x.replace(':POS_X','') for x in bpmpvlist if ':POS_Y' not in x]
print(bpmpvlist)
  • 法二
bpmlist1=['IN-BI:SBPM%d' % i for i in np.arange(1,7)]
bpmpvlist = [bpm+':POS_X' for bpm in bpmlist1]+[bpm+':POS_Y' for bpm in bpmlist1]
bpmpvlist = list(filter(lambda x: ':POS_Y' not in x, [x.replace(':POS_X','') for x in bpmpvlist]))
print(bpmpvlist)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值