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 ifnot 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'notin 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'notin x,[x.replace(':POS_X','')for x in bpmpvlist]))print(bpmpvlist)