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)#选择了音乐,但是没有选择美术的学生

输出如下:

今天先写到这里了,每天进步一点点。今天你加油了吗!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立黄昏粥可温

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值