码迷,mamicode.com
首页 > 编程语言 > 详细

python集合set

时间:2019-02-13 15:40:44      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:功能   序列   必须   元素   tab   cti   style   技术   pytho   

集合是一个无序不重复的元素的集。基本功能包括关系测试和消除重复元素。

1、创建集合

用{}和set()来创建集合,set集合类需要的参数必须是迭代器类型的,

如:序列、字典等,然后转换成无序不重复的元素集。由于集合是不重复的,所以可以对字符串、列表、元组进行去重操作。

(1)、创建空集合

注意:想要创建空集合,你必须使用 set() 而不是 {}。后者用于创建空字典。

s=set()
print(s)
s1=set([])    #列表
print(s1)
s2=set({})    #字典
print(s2)
s3=set(())    #元组
print(s3)

 技术图片

(2)、创建非空集合

即列表,元组,字典不在是空值

注:字典转set集合,需要注意的是,只取了字典的key,相当于将字典中的dict.keys()列表转成set集合。

s1=set([1,3,4])
print(s1)
s2=set({a:1,b:4,c:5})
print(s2)
s3={1,4,5,6}
print(s3)

 技术图片

2、集合的操作

(1)、增加

集合的添加有两种方式,分别是add和update。但是它们在添加元素时是由区别的:

1、add()方法把要传入的元素作为一个整体添加到集合中

s={2,,xinli}
s.add(sunxue)
print(s)

技术图片

2、update()方法
是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的字符。可以一次添加多个值
s={2,,xinli}
s.update(love)
print(s)

技术图片

(2)、删除

1、s.remove(element)

s :为变量

element :表示要查找并删除的元素

函数作用:在集合s中查找element元素,如果存在则删除;如果没找到,则报KeyError错。

s=set(love)
print(s)
s.remove(o)   #找到删除
print(s)
s.remove(a)   #找不到报错
print(s)

技术图片

2、s.discard(element)

s :为变量

element :表示要查找并删除的元素

函数作用:在集合s中查找element元素,如果存在则删除;如果没找到,则什么也不做。

s=set(love)
print(s)
s.discard(e)   #找到删除
print(s)
s.discard(a)   #找不到什么也不做
print(s)

 技术图片

3、s.pop()

s:为变量

函数作用:随机删除并返回set类型的s中的一个元素,如果集合为空引发KeyError错误。

s=set(love)
print(s)
s.pop()
print(s)

  技术图片

s=set()
s.pop()
print(s)

 技术图片

4、s.clear()

s:变量

函数作用:清空s集合中的所有元素

s=set(love)
print(s)
s.clear()
print(s)

技术图片

3、集合其他方法

函数说明
len(s) set 的长度
x in s 测试 x 是否是 s 的成员
x not in s 测试 x 是否不是 s 的成员
s.issubset(t) 测试是否 s 中的每一个元素都在 t 中
s.issuperset(t) 测试是否 t 中的每一个元素都在 s 中
s.union(t) 返回一个新的 set 包含 s 和 t 中的每一个元素
s.intersection(t) 返回一个新的 set 包含 s 和 t 中的公共元素
s.difference(t) 返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.symmetric_difference(t) 返回一个新的 set 包含 s 和 t 中不重复的元素
s.copy() 返回 set “s”的一个浅复制

python集合set

标签:功能   序列   必须   元素   tab   cti   style   技术   pytho   

原文地址:https://www.cnblogs.com/zhangxinli/p/10370057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!