前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​每天 3 分钟,小闫带你学 Python(十七)

​每天 3 分钟,小闫带你学 Python(十七)

作者头像
小闫同学啊
发布2019-08-09 15:42:22
4200
发布2019-08-09 15:42:22
举报
文章被收录于专栏:小闫笔记
正文共:1869字 6图 预计阅读时间:5分钟

每日分享

Pleasure in the job puts perfection in the work.

工作中的快乐使工作变得完美。

小闫语录:

学会发现工作中的乐趣,每一次的成就感都会成为任务的助力,让工作高效的进行,完美的完成。

前言

昨天的文章『每天 3 分钟,小闫带你学 Python(十六)』讲了字典的遍历相关操作,可以遍历字典的键,可以遍历字典中的值,也可以遍历字典中的键值对,甚至可以遍历出每个元素以及对应的索引。今天将开始全新的内容。

学习目标

1.熟记集合的形式。

2.掌握定义空集合的方法。

3.学会集合的相关操作。

4.理解交集和并集的概念以及操作方法。

1.集合

集合的形式如下:

代码语言:javascript
复制
{1, 2, 4, 5}

不要觉得它是字典,它里面是单个元素,而非键值对。没错,它和元组、列表类似,只是外部换成了大括号

那么我们怎么定义一个空集合呢?有以下两种方式:

代码语言:javascript
复制
emptyset = set()

其实对应的元组和列表也可以这样进行定义:

代码语言:javascript
复制
# 定义一个空元组
mytuple = tuple()
# 定义一个空列表
mylist = list()

以下的写法是定义了一个空字典,谨记!!!

代码语言:javascript
复制
set1 = {}

1.1 集合的特点

集合是无序的,而且集合中的元素是唯一的。根据以上特点,我们便可以在元素去重的时候使用集合。如列表中元素去重,可以先将其转化成集合,然后再转化成列表。

1.2 添加元素

add
代码语言:javascript
复制
>>> myset = {1, 2, 3, 4}
>>> myset.add(5)
>>> myset
{1, 2, 3, 4, 5}

可以看到,通过 add 可以将新元素添加到集合 myset 中。

update

它与上面的 add 稍有不同。 add 是添加单个元素,而 update 则是添加多个元素。 update 中必须传入可迭代对象,即字符串、列表、元组等。先来查看字符串的例子:

代码语言:javascript
复制
>>> myset = {1, 2, 3, 4}
>>> myset.update("abc")
>>> myset
{1, 2, 3, 4, 'b', 'a', 'c'}

我们可以看到该操作是将字符串中的每一个元素都分开单独添加到集合中。

再比如列表

代码语言:javascript
复制
>>> myset = {1, 2, 3, 4}
>>> myset.update(["a", "b"])
>>> myset
{1, 2, 3, 4, 'b', 'a'}

可以看到列表中每一个元素都单独添加到了集合中。

也许你有疑问:为什么添加的顺序和原顺序不一致?因为集合是无序的。

1.3 删除元素

remove
代码语言:javascript
复制
>>> myset = {1, 2, 3, 4}
>>> myset.remove(1)
>>> myset
{2, 3, 4}

1.可以删除指定元素。 2.使用 remove 删除集合中的元素,如果有,直接删除;如果没有,程序报错。

pop
代码语言:javascript
复制
>>> myset = {1, 2, 3, 4}
>>> myset.pop()
1
>>> myset.pop()
2

pop 会随机删除集合中的元素,当集合中没有元素可以删除的时候,程序会报错。

discard
代码语言:javascript
复制
>>> myset = {1, 2, 3, 4}
>>> myset.discard(0)
>>> myset
{1, 2, 3, 4}
>>> myset.discard(1)
>>> myset
{2, 3, 4}

使用 discard 删除集合中的元素时,如果有要删除的元素,那么会直接删除;没有则不做任何操作,并不会报错。

1.4 交集

同数学中的概念相同,交集便是取出两个集合中相同的元素。交集使用符号 & 连接两个集合。

代码语言:javascript
复制
>>> myset = {1, 2, 3, 4}
>>> myset1 = {1, 3, 5, 9}
>>> same = myset & myset1
>>> same
{1, 3}

上方例子中可以看出,两个集合中相同的元素为 13,使用变量进行接收,变量的类型仍然为集合。

1.5 并集

并集是两个集合中所有的元素合并去重后的集合(由于集合有不重复的特性,因此两集合中重复的元素只会保留一份),所得结果与数学概念中的并集相同。

代码语言:javascript
复制
>>> myset = {1, 2, 3, 4}
>>> myset1 = {1, 3, 5, 9}
>>> same = myset | myset1
>>> same
{1, 2, 3, 4, 5, 9}

2.作业

1.根据集合的特点,实现两个一个列表中元素的去重。

2.自定义集合,练习添加元素两种操作。

3.自定义集合,练习删除三种操作。

4.自定义两个集合,求他们的交集和并集。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 每日分享
  • 前言
  • 学习目标
  • 1.集合
    • 1.1 集合的特点
      • 1.2 添加元素
        • add
        • update
      • 1.3 删除元素
        • remove
        • pop
        • discard
      • 1.4 交集
        • 1.5 并集
        • 2.作业
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档