首页 / PYTHON / python集合set
python集合set
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python集合set,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2220字,纯文字阅读大概需要4分钟。
内容图文
![python集合set](/upload/InfoBanner/zyjiaocheng/842/b5d0d5118af341efb01696a840b2e111.jpg)
集合是一个无序不重复的元素的集。基本功能包括关系测试和消除重复元素。
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全部内容,希望文章能够帮你解决python集合set所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。