Python 从入门到实战9(集合)
我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。
上篇文章我们通过举例学习了python 中字典的定义及相关操作。今天详细讲述集合的定义及相关的操作,也是经常使用到的。
1、集合的简介
集合由可变集合set 和不可变集合frozenset 两种,我们这里只讨论可变集合。
集合是元素放到一个大括号中的,两个相邻元素之间使用逗号分隔的无序的,可变的序列。
集合最好的应用是去重,因为集合中的元素是唯一的。
2、集合创建方法
1)直接使用{}来创建集合
类似列表的定义使用[],可以直接使用{}来创建集合,
语法:set_name = {element1,element2,…elementn}
参数说明:
set_name: 集合名称
element1,element2,…elementn:对应的元素,个数不限制
举例说明:
set_animals = {'elephant','monkey','mouse','rabbit','tiger','snake'}
print(set_animals)
输出:
另外,若是有重复的元素,python自动只保留一个元素:
set_animals = {'elephant','monkey','mouse','rabbit','tiger','snake','snake'}
print(set_animals)
查看输出:重复项只保留一个
举个实际小栗子:某组学生选择公共课音乐欣赏,美术鉴赏两门公共课。
选择音乐欣赏、美术鉴赏分别放到两个不同的集合。参考如下:
music_likes = {"小明","小米","小东","小华","小何"}
art_likes = {"小兰","小花","小峰","小虎"}
print("选择音乐课的学生有:",music_likes)
print("选择美术课的学生有:",art_likes)
输出:
2)使用set()创建集合
语法格式: set_name = set(iteration)
Set_name : 集合名称
Iteration:表示要转换为集合的可迭代对象,可以是列表、元组、range对象等。
music_likes = set(["小明", "小米", "小东", "小华", "小何"])
art_likes =set( ("小兰","小花","小峰","小虎"))
print("选择音乐课的学生有:",music_likes)
print("选择美术课的学生有:",art_likes)
输出:
3、添加元素
向集合中添加元素使用add()方法,格式: set_name.add(element)
举个小栗子:
music_likes = set(["小明", "小米", "小东", "小华", "小何"])
art_likes =set( ("小兰","小花","小峰","小虎"))
music_likes.add("小虎")
print("选择音乐课的学生有:",music_likes)
输出参考如下:
4、删除元素
语法格式: 1、del set_name #删除整个集合
2、set_name.pop() #删除集合中一个元素
3、set_name.remove(element) #删除指定的元素
4、set_name.clear() #清空整个集合中的元素
举个例子:
music_likes = set(["小明", "小米", "小东", "小华", "小何"])
art_likes =set( ("小兰","小花","小峰","小虎"))
music_likes.add("小虎")
art_likes.remove("小兰")
print("选择美术课的学生有:",art_likes)
art_likes.pop()
print("选择美术课的学生有:",art_likes)
art_likes.clear()
print("选择美术课的学生有:",art_likes)
输出如下:
5、集合的交集、并集、差集计算
Python 中还可以对集合进行交集、并集、差集运算。
对应符号: 交集 &
并集 |
差集 -
music_likes = set(["小明", "小米", "小东", "小华", "小何","小兰","小花"])
art_likes =set( ("小兰","小花","小峰","小虎"))
print("选择音乐课的学生有:",music_likes)
print("选择美术课的学生有:",art_likes)
print("交集运算:",music_likes & art_likes)#两门都选择的学生
print("并集运算:",music_likes | art_likes)#参与选课的学生
print("差集运算:",music_likes - art_likes)#选择了音乐,但是没有选择美术的学生
输出如下:
今天先写到这里了,每天进步一点点。今天你加油了吗!
原文地址:https://blog.csdn.net/weixin_45999406/article/details/141969578
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!