Python 中的集合

目录

1.集合的定义

2.集合的遍历

3.集合的操作

1.集合的定义

        集合(Set)是一种无序且不重复的数据结构,可以通过大括号 {} 或者 set() 函数来创建。下面是一些集合的定义,大括号 {}不能定义空集合,只能通过set()来定义。

# 不能定义空集合
s = {1, }
print(type(s))           # <class 'set'>
# 定义空集合
s2 = set()
print(type(s2))          # <class 'set'> set()
# 字符串   将字典的所有键放入集合,值丢失
s3 = set("hello")
print(type(s3))          # <class 'set'> {'o', 'e', 'h', 'l'}
# 列表
s4 = set([1, 2, 3, 2])
print(type(s4), s4)      # <class 'set'> {1, 2, 3}
# 特性:无序(没有先后顺序)
s5 = set("abcged")
print(s5)                # {'b', 'a', 'd', 'c', 'g', 'e'}
# 不重复(相同元素只保存一个)
s6 = set([1, 2, 3, 2, 3, 1])
print( s6)               # {1, 2, 3}

2.集合的遍历

        集合中只能存放不可变类型,只有一种遍历方式

s0 = {10, 3.14, False, None, "hello", [1, 2, 3]}
# 遍历
for e in s0:
    print(e)

3.集合的操作

   1.len 

s1 = set([1,2,3])
print(len(s1))      # 3

2.in

s2 = set([1,2,3,4,5])
print(2 in s2, 6 in s2))    # True False

3.添加

s3 = set([1,2,3])
# 添加元素
s3.add(4) 
print(s3)               # {1, 2, 3, 4}

# 合并新集合到原有集合
s3.update({2, 3, 4, 5})
print(s3)               # {1, 2, 3, 4, 5}

4.删除

s4 = set([1,2,3,4,5])
# 随机删除一个
s4.pop()
print(s4)    # {2, 3, 4, 5}
# 删除一个元素,如果不存在报错
s4.remove(5)
print(s4)     # {1, 2, 3, 4}
# 删除一个元素,如果不存在不报错
s4.discard(6)
print(s4)    # {1, 2, 3, 4, 5}

s4.clear()
print(s4)    # set()

5核心操作:交差并补

s3 = {2,3,4}
s4 = {3,4,5}

# 交集
s5 = s3 & s4
# s5 =s3.intersection(s4)
print(s5)

# 并集
s6 = s3 | s4
# s6 =s3.union(s4)
print(s6)

# 差集
s7 = s3 - s4
# s7 = s3.difference(s4)
print(s7)

# 补集(全集 U)
U = {1,2,3,4,5}
A = {2,3,4}
print(U-A)
# print(U.symmetric_difference(A))

# 超级
s1 = {1,2,3,4,5}
s2 = {3,4}
print(s1.issuperset(s2))
# 子集
print(s2.issubset(s1))

  • 24
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值