python学习之集合

#集合类型

1.集合的定义
set = {}
set = {1,2,3}
set = {1,2,3,1,2,3}
set = {1,2,3,’hello’}
set = {1,2,3,’hello’,(1,2,3)}
set = {1,2,3,’hello’,(1,2,3),[1,2,3]}
set的应用场景—–集合是一个无序的,不重复的数据组合,集合里不能定义列表。
In [51]: set = {1,2,3,1,2,3} ##集合是一个无序的,不重复的数据组合,集合可去除列表中重复的元素

In [52]: set
Out[52]: {1, 2, 3}
这里写图片描述

In [58]: set = {1,2,3,’hello’,(1,2,3),[1,2,3]} ##集合里不能定义列表

TypeError Traceback (most recent call last)
in ()
—-> 1 set = {1,2,3,’hello’,(1,2,3),[1,2,3]}

TypeError: unhashable type: ‘list’
这里写图片描述
2.关系测试集合的关系测试操作
集合有其他数据类型没有的属性,即关系测试,包含交集、差集、并集、是否为子集、是否为父集等方法。
In [66]: list_1 = {1, 2, 3, 4,’hello’}

In [67]: list_2 = {1, 2, 45, 66, 3}

• 交集: list_1.intersection(list_2)
In [68]: list_1.intersection(list_2)
Out[68]: {1, 2, 3}

• 并集: list_1.union(list_2)
In [70]: list_1.union(list_2)
Out[70]: {1, 2, 3, 4, 45, 66, ‘hello’}
这里写图片描述

• 差集: list_1.difference(list_2)
In [69]: list_1.difference(list_2)
Out[69]: {4, ‘hello’}

• 对等差分 list_1.symmetric_difference(list_2)
• 子集 list_1.issubset(list_2)
In [71]: list_1.issubset(list_2)
Out[71]: False

• 父集 list_1.issuperset(list_2)
In [72]: list_1.issuperset(list_2)
Out[72]: False

• 有无交集 list_1.isdisjoint(list_2)
In [73]: list_1.isdisjoint(list_2)
Out[73]: False
这里写图片描述
3.集合的关系测试操作
• 交集: list_1 & list_2
In [76]: list_1 & list_2
Out[76]: {1, 2, 3}

• 并集: list_1 | list_2
In [77]: list_1 | list_2
Out[77]: {1, 2, 3, 4, 45, 66, ‘hello’}

• 差集: list_1 - list_2 list_2 - list_1
In [79]: list_1 - list_2
Out[79]: {4, ‘hello’}

•对等差分list_1 ^ list_2
In [80]: list_1 ^ list_2
Out[80]: {4, 45, 66, ‘hello’}
这里写图片描述
4.集合的添加
In [82]: list_1
Out[82]: {1, 2, 3, 4, ‘hello’}

In [83]: list_1.add(‘aaaa’) ##str.add(”)在集合中添加一项

In [84]: list_1
Out[84]: {1, 2, 3, 4, ‘aaaa’, ‘hello’}

In [85]: list_1.update([5,6,7]) ##str.update([5,6,7])在集合中添加多项,跟的参数应该是可迭代类型

In [86]: list_1
Out[86]: {1, 2, 3, 4, 5, 6, 7, ‘aaaa’, ‘hello’}
这里写图片描述
5.集合的删除
•str.remove(1) 删除集合中指定的元素
In [87]: list_1.remove(‘hello’)

In [88]: list_1
Out[88]: {1, 2, 3, 4, 5, 6, 7, ‘aaaa’}

•str.pop() 随机删除集合中的某个元素,并返回删除的元素
In [89]: list_1.pop()
Out[89]: 1

In [90]: list_1
Out[90]: {2, 3, 4, 5, 6, 7, ‘aaaa’}

6.集合的其他操作
• len(s) 显示集合set的长度
In [90]: list_1
Out[90]: {2, 3, 4, 5, 6, 7, ‘aaaa’}

In [91]: len(list_1)
Out[91]: 7

•2 in str 检测某元素是否为集合s的成员,返回布尔值
In [93]: 2 in list_1
Out[93]: True

•str.copy() 集合的浅拷贝,此处不深入研究,后面会说
•str.clear() 清空集合的所有元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值