说集合之前,我们先说一个小例子,假设某公司有五个人喜欢打篮球,五个人喜欢打游戏,问即打游戏有打篮球
的人都有哪些?
play_basketball = ['a','b','c','d','e']
play_game = ['a','b','c','f','g']
both_play=[]
for name in play_basketball:
if name in play_game:
both_play.append(name)
print(both_play)
结果:
['a', 'b', 'c']
'''
想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!
'''
在不了解集合之前我们肯定以上面的方法解决问题,但是学了集合之后,我们就有更简单的方法了,是什么呢?让我们慢慢了解。
想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!
集合set
集合用于包含一组无序的对象。与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。set和dict一样,只是没有value,相当于dict的key集合,由于dict的key是不重复的,且key是不可变对象因此set也有如下特性:
- 不重复,(互异性),也就是说集合是天生去重的
- 元素为不可变对象,(确定性,元素必须可hash)
- 集合的元素没有先后之分,(无序性)
首先笼统的讲一下python3.x集合的内置函数有17个,分别如下:
| 序号 | 函数 | 描述 |
| 1 | add(self, *args, **kwargs) | 是把要传入的元素做为一个整个添加到集合中 |
| 2 | clear(self, *args, **kwargs) | 清空集合里面的所有元素 |
| 3 | copy(self, *args, **kwargs) | 复制集合里面的所有元素 ,返回一个浅复制 |
| 4 | difference(self, *args, **kwargs) | 求两个集合里面的不同的元素 ,又称差 |
| 5 | difference_update(self, *args, **kwargs) | 返回删除了 set “集合2”中含有的元素后的 set “集合1” |
| 6 | discard(self, *args, **kwargs) | 如果在 set “集合”中存在元素 x, 则删除 |
| 7 | intersection(self, *args, **kwargs) | 求两个集合里面相同的元素,又称并 , 返回只保留含有 set “集合2”中元素的 set “集合1” |
| 8 | intersection_update(self, *args, **kwargs) | , 返回只保留含有 set “集合2”中元素的 set “集合1” ,并更新自己 |
| 9 | isdisjoint(self, *args, **kwargs) | 判断两个集合是不是不相交,并返回 |
| 10 | issubset(self, *args, **kwargs) | 判断集合是不是包含其他集合,等同于a>=b |
| 11 | issuperset(self, *args, **kwargs) | 判断集合是不是被其他集合包含,等同于a
|
