python去重且顺序不变 |
您所在的位置:网站首页 › list转成map且顺序不变 › python去重且顺序不变 |
** set函数 ** set是集合,在集合中不能包含重复的元素,接收一个list作为参数 在使用set()函数对列表中元素进行去重后,列表中的元素会变成乱序。如: list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷'] list2=['毛刺','切刀','切刀磨损'] s=set(list1) s2=set(list2) print('s=',s) print('s2=',s2) #输出结果 s= {'切刀磨损', '切刀表面缺陷', '异物', '切刀', '毛刺'} s2= {'切刀', '切刀磨损', '毛刺'} 若要使去重后的元素顺序保持i不变,如: list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷'] list2=['毛刺','切刀','切刀磨损'] s=list(set(list1)) s2=list(set(list2)) s.sort(key=list1.index) s2.sort(key=list2.index) print('s=',s) print('s2=',s2) #输出结果为 s= ['毛刺', '切刀', '切刀磨损', '异物', '切刀表面缺陷'] s2= ['毛刺', '切刀', '切刀磨损'] s.sort(key = list1.index) #这句代码让sort()方法按照ist1列表中索引顺序进行排列。 往set中添加元素使用add(key)方法,重复的元素自动过滤。通过remove(key)方法可以删除元素:如: list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷'] list2=['毛刺','切刀','切刀磨损'] s=set(list1) s2=set(list2) s.add('缺陷') s2.add('磨损') s.remove('切刀') s2.remove('切刀') print(s2) print(s) #输出结果为 {'切刀磨损', '毛刺', '磨损'} {'切刀磨损', '切刀表面缺陷', '异物', '毛刺', '缺陷'} set求交集和并集。如: list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷'] list2=['毛刺','切刀','切刀磨损'] s=set(list1) s2=set(list2) #交集,使用&操作符 s3=s&s2 #并集,使用|操作符 s4=s|s2 print('s3=',s3) print('s4=',s4) #输出结果如下 s3= {'切刀', '切刀磨损', '毛刺'} s4= {'切刀', '切刀磨损', '毛刺', '切刀表面缺陷', '异物'} |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |