集合:快来学我!

本文介绍了Python中的集合数据结构,包括集合的定义、创建方式、去重特性,以及集合的基本操作如添加、删除、合并、查找、交集、并集、子集/超集判断和更新方法。
摘要由CSDN通过智能技术生成

1、集合的定义

集合不重复(去重),无序

s = set()
print(type(s),s)
s1 = {1,2,3}#不能定义空集合
print(type(s1),s1)

结果

<class 'set'> set()
<class 'set'> {1, 2, 3}

字符串转集合,重复的不打印,没有顺序

s2 = set("hello")
print(type(s2),s2)

结果

<class 'set'> {'h', 'e', 'o', 'l'}

列表转集合,重复的不打印,没有顺序

s3 = set([1,2,2,3,4])
print(type(s3),s3)

结果

<class 'set'> {1, 2, 3, 4}

字典转集合,键转集合,值丢失

s4 = set({"name":1,"age":2})
print(type(s4),s4)

结果

<class 'set'> {'name', 'age'}

元组转集合

s5 = set((1,2,3,3,4))
print(type(s5),s5)

结果

<class 'set'> {1, 2, 3, 4}

集合只能存放不可变类型

s = {3.14,"hello",False,True,None,(1,2,3)}
print(s)

结果

{False, True, 3.14, 'hello', (1, 2, 3), None}

集合只有一种遍历

s = {3.14,"hello",False,True,None,(1,2,3)}
for i in s:
    print(i)
结果

False
True
3.14
hello
(1, 2, 3)
None

集合可以使用len和in

s = {1,2,2,3,3,4}#不包括重复的
print(len(s))#4
print(5 in s,3 in s)#False True

结果

4
False True

2、集合的操作

add 将元素添加到集合中

s = {1,2,3,4}
s.add(5)
print(s)

结果

{1, 2, 3, 4, 5}

update 合并一个新的集合到原来的集合中

s = {1,2,3,4}
s.update({3,4,5})
print(s)

结果

{1, 2, 3, 4, 5}

pop 删除随机一个数

s = {1,2,3,4}
print(s.pop())

结果

1

remove删除指定的数,删除的数不存在会报错

s = {1,2,3,4}
s.remove(2)
print(s)

结果

{1, 3, 4}

discard 删除指定的元素,不存在不会报错

s = {1,2,3,4}
s.discard(4)
print(s)

结果

{1, 2, 3}

clear 清空集合,输出set()

s = {1,2,3,4}
s.clear()
print(s)

结果

set()

intersection 交集

s = {1,2,3,4}
s1 = {2,3,4,5}
print(s.intersection(s1))

结果

{2, 3, 4}

union 并集

s = {1,2,3,4}
s1 = {2,3,4,5}
print(s.union(s1))

结果
{1, 2, 3, 4, 5}

difference s1 有 ,s 没有

s = {1,2,3,4}
s1 = {2,3,4,5}
print(s1.difference(s))

结果

{5}

issubset 判断一个集合是否是另一个集合的子集的方法

s = {1,2,3,4}
s1 = {2,3,4,}
print(s1.issubset(s))#s1是不是s的子集  True

结果

True

issuperset 判断一个集合是否是另一个集合的超集的方法,如果一个集合包含另一个集合的所有元素,则可以说这个集合是另一个集合的超集。

s = {1,2,3,4}
s1 = {2,3,4,}
print(s.issuperset(s1))

结果

True

intersection_update ,s 中的元素将会被更新为与 s1、s2等集合中的元素的交集

s = {1,2,3,4}
s1 = {2,3,4,}
s2 = {3,4,5}
s.intersection_update(s1,s2)
print(s)

结果

{3, 4}

symmetric_difference  用于返回两个集合中不重复元素的集合的方法

s = {1,2,3,4}
s1 = {2,3,4,}
s2 = {3,4,5}
print(s.symmetric_difference(s1))

结果
{1}

difference_update  s 被更新为只包含与 s1 中不重复的元素 {1, 2}。而不返回新的集合

    与difference不同  difference 取差值,返回差值;difference_update  取差值并更新为新的集合不返回差值

s = {1,2,3,4}
s1 = {2,3,4,}
s2 = {3,4,5}
s.difference_update(s1)
print(s)   

结果

{1}

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值