Python集合(set)详解

一.集合的定义:

集合(set):集合是无序的,集合中的元素是唯一的,不能出现可变的数据类型

1.一般格式:

集合名={元素1,元素2,.....}

2.空集合:

集合名=set(),但是不能像列表或者元组那样集合名={}去创建,因为{}代表的的是字典

my_set={1,2,3}
my_set1=set()
my_set2={}
print(type(my_set))
print(type(my_set1))
print(type(my_set2))

在这里插入图片描述
所以我们千万得之一空集合的命名,不能直接去写{}否则会成字典

二.集合的一些基本操作:

1.添加元素:

添加元素主要有两种写法addupdate

  1. 格式:集合名.add(x)
my_set={1,2,3}
my_set.add("您好")
print(my_set)

在这里插入图片描述
但是:这种方式只能添加一个元素,否则会报错

my_set={1,2,3}
my_set.add("您好","世界")
print(my_set)

在这里插入图片描述

  1. 格式:集合名.update(x),添加的元素可以为列表,元组,字典等…
my_set={1,2,3}
"""列表"""
my_set.update([4,5])
print(my_set)
"""字典"""
my_set.update({5:6,8:9})
print(my_set)
"""元组"""
my_set.update((10,11,12))
print(my_set)

在这里插入图片描述

2.删除元素:

删除元素主要有popremovediscard三种方法

  1. pop:格式集合名.pop():随机删除一个元素
my_set={1,2,3,4,5,6,7,8,9}
print(my_set.pop())
print(my_set)

在这里插入图片描述
我们可以看到随机删除了 1 这个元素

  1. remove:格式集合名.remove():有则删,无则报错
my_set={1,2,3,4,5,6,7,8,9}
my_set.remove(5)
print(my_set)
my_set.remove(10)
print(my_set)

在这里插入图片描述
我们清楚的看到没有 10 这个元素则报错了,因为存在 5 所以就删了

  1. discard:格式集合名.discard():有则删,无则不变化
my_set={1,2,3,4,5,6,7,8,9}
my_set.discard(10)
print(my_set)
my_set.discard(5)
print(my_set)

在这里插入图片描述
我们可以看到没有 10 这个元素没有变化,存在 5 这个元素所以就删除了

3.清空元素:

清空元素一般我们用clear 格式为:集合名.clear()

my_set={1,2,3,4,5,6,7,8,9}
my_set.clear()
print(my_set)

在这里插入图片描述

4.计算元素个数:

计算元素的个数,一般我们用len 格式为:len(集合名)

my_set={1,2,3,4,5,6,7,8,9}
print(len(my_set))

在这里插入图片描述

5.元素是否存在:

在前面的几篇博客中,我们也提到了怎么查看元素是否存在,一般会用到 in

my_set={1,2,3,4,5,6,7,8,9}
if 5 in my_set:
    print("我在")
if 10 not in my_set:
    print("不好意思,我没在")

在这里插入图片描述

三.集合的交集、并集与差集:

1.交集:

所谓交集,就是集合中存在相同的元素,然后交集出的是相同的元素,会用到 “&” 一般格式:集合1&集合2

my_set={1,2,3,4,5,6,7,8,9}
my_set1={1,2,3,3,5,6,9,8,9}
my_set2={1,4,3,3,5,6,9,8,10}
#交集
print(my_set&my_set1&my_set2)

在这里插入图片描述

2.并集:

所谓交集,就是集合中存在的所有元素,会用到 “|” 一般格式:集合1|集合2

my_set={1,2,3,4,5,6,7,8,9}
my_set1={1,2,3,5,6,9,8}
my_set2={1,4,3,5,6,9,8,10}
#并集
print(my_set1|my_set)

在这里插入图片描述

3.差集:

差集:就是返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中,一般格式:集合名1.difference(集合名2)

my_set={1,2,3,4,5,6,7,8,9}
my_set1={1,2,3,5,6,9,8}
print(my_set.difference(my_set1))

在这里插入图片描述

四.集合的作用:

集合一般用来去重,如果存在相同元素,一般用列表的做法:

my_list=[1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9]
my_list1=[]
for i in my_list:
    if i not in my_list1:
        my_list1.append(i)
print(my_list1)

用集合去重

my_list=[1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9]
print(set(my_list))

结果:
在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/qq_45096273/article/details/107573502