Python之集合

Python之集合,第1张

文章目录
    • 一 集合的特性及应用场景
    • 二 集合的创建
    • 三 集合的添加
    • 四 集合的删除
    • 五 集合的交集,并集和差
        • 1. 集合的交集:s.intersection()或者 &
        • 2. 集合的并集:s.union()或者 |
        • 3. 集合的差:s.difference()
        • 4. 返回两个集合中不重复的元素:s.symmetric_difference()

一 集合的特性及应用场景

数学中的集合有三个特性:确定性,无异性和无序性。python中的集合亦是如此,确定性指的是一个元素要么属于这个集合,要么不属于这个集合,能够确定的知道;无异性指的是集合中的每一个元素都是唯一的,不会存在相同的元素;无序性指的是集合中的元素是没有先后顺序之分的,位置是随意的。
基于集合的无异性的特性,python中的集合常常用于数据去重 *** 作。

二 集合的创建

集合的创建如下

{value1,value2,...value n}#大括号包含各个元素
set()#创建空集合

需要注意的是,空集合的创建是set(),而非{},{}是创建空字典。
如下

s = {1, 2}
s1 = set()
s2 = {}
print(type(s))
print(type(s1))
print(type(s2))
>>>
<class 'set'>
<class 'set'>
<class 'dict'>
三 集合的添加

添加单个元素:s.add()

s = {1, 2, 3}
s.add(4)
s.add('a')
print(s)
>>>
{1, 2, 3, 4, 'a'}

合并集合(添加多个元素):s.update()

s.update({'python', 'MySql'})
print(s)
>>>
{1, 2, 3, 4, 'a', 'MySql', 'python'}
四 集合的删除

删除指定元素:s.remove() 不存在会报错s.discard() 不存在不会报错

s = {1, 2, 3, 4, 'a', 'MySql', 'python'}
s.discard(6)
print(s)
s.remove(6)
print(s)
Traceback (most recent call last):
  File "C:/Users/admin/python-learning/python学习文件/python基础/CSDN.py", line 11, in <module>
    s.remove(6)
KeyError: 6
{1, 2, 3, 4, 'MySql', 'python', 'a'}

随机删除一个元素:s.pop()

s1 = {'d', 'v', 3, 4, 'a', 'MySql', 'python'}
for i in range(5):
    s1.pop()
    print(s1)
>>>
{4, 'MySql', 'v', 'python', 'd', 'a'}
{'MySql', 'v', 'python', 'd', 'a'}
{'v', 'python', 'd', 'a'}
{'python', 'd', 'a'}
{'d', 'a'}

清空集合:s.clear()

s1 = {'d', 'v', 3, 4, 'a', 'MySql', 'python'}
s1.clear()
print(s1)
>>>
set()
五 集合的交集,并集和差 1. 集合的交集:s.intersection()或者 &
s1 = {1, 2, 3, 4}
s2 = {4, 5, 6}
print(s1.intersection(s2))
print(s1 & s2)
>>>
{4}
{4}
2. 集合的并集:s.union()或者 |
s1 = {1, 2, 3, 4}
s2 = {4, 5, 6}
print(s1.union(s2))
print(s1 | s2)
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
3. 集合的差:s.difference()
s1 = {1, 2, 3, 4}
s2 = {4, 5, 6}
print(s1.difference(s2))
print(s2.difference(s1))
>>>
{1, 2, 3}
{5, 6}
4. 返回两个集合中不重复的元素:s.symmetric_difference()
s1 = {1, 2, 3, 4}
s2 = {4, 5, 6}
print(s1.symmetric_difference(s2))
{1, 2, 3, 5, 6}

注意,这里返回的是两个集合中不重复的元素,跟并集不同,并集包括重复的元素。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/870406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存