python学习(30)_集合_2
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python学习(30)_集合_2,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3110字,纯文字阅读大概需要5分钟。
内容图文
![python学习(30)_集合_2](/upload/InfoBanner/zyjiaocheng/843/36e1f9abd2104e7db873d049ea56b89b.jpg)
遍历集合
In 遍历
>>> s1
{4, 'a', 'x', 'c', 'b'}
>>> for value in s1:
... print(value)
...
4
a
x
c
b
使用enumerate进行遍历
>>> for index,value in enumerate(s1):
... print(index,value)
...
0 4
1 a
2 x
3 c
4 b
集合转换成字符串
>>> s1
{4, 'a', 'x', 'c', 'b'}
>>> s = "".join({str(v) for v in s1})
>>> s
'axcb4'
>>> set1 = {"a","b","c"}
>>> "".join(set1)
'cba'
集合转换成元组
>>> s1
{4, 'a', 'x', 'c', 'b'}
>>> t = tuple(s1)
>>> t
(4, 'a', 'x', 'c', 'b')
集合转列表
>>> lst = list(s1)
>>> lst
[4, 'a', 'x', 'c', 'b']
set.clear()清空集合
>>> s1
{4, 'a', 'x', 'c', 'b'}
>>> s1.clear()
>>> s1
set()
set.copy()复制集合
>>> s1 = set("abcd")
>>> s1
{'c', 'd', 'b', 'a'}
>>> s2 = s1.copy()
>>> s2
{'c', 'd', 'b', 'a'}
len(set)求集合长度
>>> print (len(s1))
4
交集
利用 & 符号
>>> s1 = {1,2,3,4}
>>> s2 = {3,4,5,6}
>>> s1&s2
{3, 4}
set1.intersection(set2)
>>> s1.intersection(s2)
{3, 4}
set1.intersection_update(set2)
交集更新操作
返回两个集合的交集,set1中其他元素被删除
>>> s1
{1, 2, 3, 4}
>>> s2
{3, 4, 5, 6}
>>> s1.intersection_update(s2)
>>> s1
{3, 4}
并集
利用 | 符号
>>> s1 = {1,2,3,4}
>>> s2 = {3,4,5,6}
>>> s1|s2
{1, 2, 3, 4, 5, 6}
set1.union(set2)
>>> s1.union(s2)
{1, 2, 3, 4, 5, 6}
set1.update(set2)
并集更新操作,set2中的元素被添加到set1
>>> s1.update(s2)
>>> s1
{1, 2, 3, 4, 5, 6}
差集
利用 - 减号
>>> s1 = {1,2,3,4}
>>> s2 = {3,4,5,6}
>>> s1-s2
{1, 2}
set1.difference(set2)
>>> s1.difference(s2)
{1, 2}
Set1.difference_update(set2)
差集更新操作,返回set1和set2的差集,set1中的其他不在set2中的元素被删除
>>> s1 = {1,2,3,4}
>>> s2 = {3,4,5,6}
>>> s1.difference_update(s2)
>>> s1
{1, 2}
set1.symmetric_difference(set2)对称差集
两个集合中所有不属于两个集合交集的元素
对称差集:集合A与集合B的对称差集定义为集合A与集合B中所有不属于A∩B的元素的集合,记为A△B,也就是说A△B={x|x∈A∪B,x?A∩B},即A△B=(A∪B)—(A∩B).也就是A△B=(A—B)∪(B—A)
>>> s1.symmetric_difference(s2)
{1, 2, 5, 6}
set1.symmetric_difference_update(set2)对称差集更新操作
Set1返回两个集合的对称差集
>>> s1.symmetric_difference_update(s2)
>>> s1
{1, 2, 5, 6}
判断集合的关系
利用 > 、>=、 、< <=
集合可以使用大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=)来判断某个集合是否完全包含于另一个集合,也可以使用子父集判断函数。
> 是左边集合是否完全包含右边集合
>>> a = {"a","b","c"}
>>> a
{'c', 'b', 'a'}
>>> b = {"a","b"}
>>> b
{'b', 'a'}
>>> a > b
True
>>> c = {"a","d"}
>>> a > c
False
set1.issuperset(set2)
判断set1是否是set2的超集
>>> a
{1, 2, 3, 4, 5, 6, 7}
>>> b
{1, 2, 3, 4}
>>> a.issuperset(b)
True
set1.issubset(set2)
判断set1是否是set2的子集
>>> a
{1, 2, 3, 4, 5, 6, 7}
>>> b
{1, 2, 3, 4}
>>> b.issubset(a)
True
set1.isdisjoint(set2)是否不存在交集
判断两个集合是否不存在交集,如果两个集合没有交集,返回True,如果有交集返回False
>>> a = {1,3}
>>> b = {4,6}
>>> a.isdisjoint(b)
True
>>> s1
{1, 2, 5, 6}
>>> s2
{3, 4, 5, 6}
>>> s1.isdisjoint(s2)
False
集合推导式
基本集合推倒式
>>> a = {1,2,3,4}
>>> {i*2 for i in a}
{8, 2, 4, 6}
>>> {i*2 for i in range(5)}
{0, 2, 4, 6, 8}
带if条件的集合推导式
>>> {i**2 for i in a if i%2==0}
{16, 4}
多层循环集合推导式
>>> {x+y for x in a for y in b}
{'bx', 'ay', 'cx', 'ax', 'by', 'bz', 'cz', 'az', 'cy'}
内容总结
以上是互联网集市为您收集整理的python学习(30)_集合_2全部内容,希望文章能够帮你解决python学习(30)_集合_2所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。