集合基础

1.什么是集合(set)

集合是容器型类型,将{}作为容器标志,里面有多个元素用逗号隔开:{元素1, 元素2, 元素3, …}
集合是可变的(支持增删改),集合是无序的

集合中元素是不可变并且唯一的

1.空集合

empty = set()       # {}是空字典

非空集合

set1 = {1, 23, 34}

set2 = {(1, 2), 3, 4}

set3 = {[1, 2], 3, 4}         # 列表不能作为集合的元素

set4 = {1, 2, 3, 1, 4, 1}

print(set4)     # {1, 2, 3, 4}
print({1, 2, 3} == {2, 3, 1})       # True(说明集合无序)

2.集合中元素的增删改查
1)查
集合没有办法直接获取单个元素,只能遍历

for 变量 in 集合:
    循环体

变量取到的就是集合的每个元素

nums = {23, 34, 90, 89}
for x in nums:
    print(x)

2)增

a.集合.add(元素) - 在集合中添加指定元素
b.集合.update(序列) - 将序列中的元素全部添加到集合

nums.add(100)
print(nums)     # {34, 100, 23, 89, 90}
nums.update('abc')
print(nums)     # {34, 100, 'b', 'c', 23, 89, 90, 'a'}
nums = set()
nums.update({'a': 10, 'b': 20})
print(nums)     # {'b', 'a'}

3)删

集合.remove(元素) - 删除集合中指定的元素(元素不存在会报错)
集合.discard(元素) - 删除集合中指定的元素(元素不存在不会报错)

nums = {10, 87, 76, 90, 34}
nums.remove(10)
nums.discard(10)
print(nums)

nums.remove(100)     #报错
nums.discard(100)       # 不会报错

4)改
集合无法修改元素

3.数学集合运算
python中的集合支持数学集合运算:&(求交集)|(求并集)-(求差集)^(对称差集) >/<(判断是否是真子集)

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8, 9}

1)交集:求两个集合的公共部分

print(set1 & set2)      # {4, 5}

2)并集:两个集合合并成一个集合

print(set1 | set2)      # {1, 2, 3, 4, 5, 6, 7, 8, 9}

3)差集:集合1 - 集合2 集合1中除了集合2剩余的部分,反之

print(set1 - set2)      # {1, 2, 3}
print(set2 - set1)      # {8, 9, 6, 7}

4)对称差集:去掉两个集合公共的部分剩下的部分

print(set1 ^ set2)      # {1, 2, 3, 6, 7, 8, 9}

5)真子集
集合1 > 集合2 - 判断集合2是否是集合1的真子集
集合1 < 集合2 - 判断集合1是否是集合2的真子集

print({100, 200, 300, 400} > {10, 20})       # False
print({1, 10, 20} > {10, 20})       # True
print({10, 20} > {10, 20})      # False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值