自学内容网 自学内容网

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)!