**
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= {'切刀', '切刀磨损', '毛刺', '切刀表面缺陷', '异物'}
本文介绍了如何利用Python的set函数进行列表去重,并保持原有元素顺序。set是集合类型,不包含重复元素。为解决去重后顺序混乱的问题,可以先对列表排序,再用set.add()方法添加元素。此外,还提到了set的交集和并集操作。
2268

被折叠的 条评论
为什么被折叠?



