前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 集合

Python 集合

作者头像
小嗷犬
发布2022-11-15 16:05:56
5990
发布2022-11-15 16:05:56
举报
文章被收录于专栏:小嗷犬的CSDN文章

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 集合


Python 集合


1.集合及基本操作

集合类型与数学中集合的概念是一致的。它是由 0 个或多个唯一的、不可变的元素构成的无序组合。和字典一样,集合也是通过一对花括号{}来标识的。

集合中的元素是不可重复的, 常常用于检查某个元素是否存在。

集合的元素不能是可变类型,例如列表、字典或者集合本身。

虽然集合中的元素必须是不可变类型,但是集合本身是可变的,可以添加、删除和清空集合元素。

1.1 创建集合

可以使用set()函数创建一个集合, 或者用花括号将一系列以逗号隔开的元素包裹起来创建。

代码语言:javascript
复制
language = set(['C', 'C++', 'Java', 'Python'])
print(language)

在 Python 中使用{}创建的是空字典, 而不是空集合。 创建空集合应该使用set()函数。

代码语言:javascript
复制
print(type({}))

1.2 利用集合去重

集合的重要特征之一就是元素不重复。 因此, 当使用set()函数将其他可迭代对象转换为集合时,该函数会自动过滤掉重复元素。

代码语言:javascript
复制
print(set('我是小嗷犬,喜欢嗷嗷嗷'))

1.3 交集、并集、差集和补集

除了判断成员资格和去重外,集合还有四个常用的操作:交集(&)、并集(|)、差集 ()、补集(^), 操作逻辑与数学定义相同。A、B 两个集合的运算示意图如图所示, 阴影部分是运算结果。

集合运算
集合运算
代码语言:javascript
复制
language1 = {'C', 'C++', 'Java', 'Python'}
language2 = {'C', 'C++', 'C#', 'Golang'}
print(language1 | language2)
print(language1 - language2)
print(language1 & language2)
print(language1 ^ language2)

2.集合的常用方法

集合也可以通过内置函数len()得到元素个数, 通过in检查某个元素是否存在, 通过copy()方法复制集合。除此之外,还有一些特有的方法,如表所示。

函数或方法

描述

S.add(x)

如果数据项x不在集合S中,将x增加到s

S.clear()

移除S中所有数据项

S.copy()

返回集合S的一个拷贝

S.pop()

随机返回集合S中的一个元素,如果S为空,产生KeyError异常

S.discard(x)

如果x在集合S中,移除该元素;如果x不在,不报错

S.remove(x)

如果x在集合S中,移除该元素;不在,产生KeyError异常

S.isdisjoint(T)

如果集合S与T没有相同元素,返回True

len(S)

返回集合S元素个数

x in S

如果x是S的元素,返回True,否则返回False

x not in S

如果x不是S的元素,返回True,否则返回False


2.1 添加元素

与列表、字典一样, 集合是可变类型。 可以往集合中添加元素。 通过集合的add()方法来实现。如果元素本身在集合中,则不添加。

代码语言:javascript
复制
language = {'C', 'C++', 'Java', 'Python'}
language.add('C')
print(language)
language.add('C#')
print(language)

2.2 删除元素

集合中有pop()discard()remove()多个删除元素的方法。

代码语言:javascript
复制
language = {'C', 'C++', 'Java', 'Python'}
language.pop()
print(language)
language.discard('C#')
print(language)
language.remove('C++')
print(language)
language.remove('C#')

2.3 集合推导式

与字典推导式类似, 集合推导式使用的也是花括号{}。 不同的是, 集合推导式在for关键字前的表达式结果是一个元素,而不是键值对。语法形式如下:

代码语言:javascript
复制
{expression for item in iterable if condition}
代码语言:javascript
复制
l = ['C', 'C++', 'Java', 'Python']
language = {i for i in l if len(i) > 2}
print(language)

3.组合数据类型比较

到目前为止, 我们已经学习了 Python 中常见的几种组合数据类型:字符串、列表、 元组、字典和集合,如表所示。它们之间有许多的相同点和不同点。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python 集合
  • 1.集合及基本操作
    • 1.1 创建集合
      • 1.2 利用集合去重
        • 1.3 交集、并集、差集和补集
        • 2.集合的常用方法
          • 2.1 添加元素
            • 2.2 删除元素
              • 2.3 集合推导式
              • 3.组合数据类型比较
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档