Python 集合 Set 的奇妙用处

Python 中内置了很多有趣而又强大的功能库,今天,要为大家分享的是集合 Set

作为Python 基本元素之一的集合,具有非常鲜明的特点:

  •    子元素唯一,  也就是集合里面的元素都是唯一的
  •    不同的集合可以做逻辑运算,如并集、差集等

 下面通过一些例子来看下集合的使用场景:

# 定义一个集合
set1 = set()

# 增加一个元素, 注意,元素不能为字典\集合\列表类型
set1.add(123)

# 将一个列表转为一个集合,常用于去重
lista = [1, 2,3,4,5,1,3,4]
set2 = set(lista)
print(set2)
# 结果为:{1, 2, 3, 4, 5}

# 有两个字典 dict_1, dict_2 ,
dict_1 = {"key1": "value1", "key2": "value2", "key4": 'values4'}
dict_2 = {"key1": "value1", "key3": "value3", "key2": "value2"}


# 现将两个字典的keys 各放入一个集合中
dict1_key = set(dict_1.keys())
dict2_key = set(dict_2.keys())


# 对比下两个字典的key, 是否一致
print(dict1_key == dict2_key)
# 结果为 False

# 找出双方都存在的key
print(dict1_key.intersection(dict2_key))
# 结果为: {'key1', 'key2'}

# 找出dict_1中存在,但dict_2中不存在的key
print(dict1_key.difference(dict2_key))
# 结果为 {'key4'}

# 双方的并集
print(dict1_key.union(dict2_key))
# 结果为{'key1', 'key4', 'key2', 'key3'}

# 判断dict1_key 是不是 带dict2_key的子集
print(dict1_key.issubset(dict2_key))
# 结果为 False

# 判断dict1_key 是不是 带dict2_key的父集
print(dict1_key.issuperset(dict2_key))
# 结果为 False

# 判断dict1_key 和 dict2_key 是否不相交,也就是没有共同元素
print(dict1_key.isdisjoint(dict2_key))
# 结果为 False

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值