0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python集合表达式及方法

jf_78858299 来源:梯阅线条 作者:小梯子 2023-03-10 10:06 次阅读

python数字的集合(set)类型,是无序集合,集合中的元素(项)不会重复,不管添加多少个相同元素(项),只会保存1次。

python集合是可迭代对象。

1.1 set()和{}

用法

set() -> new empty set object
set(iterable) -> new set object
{元素项}

描述

python的set()函数用于创建集合对象。

入参

set()不送入参,创建空集合。

iterable:送迭代对象,比如字符串、元组等。创建非空集合。

表达式{元素项},创建非空集合。

注意

集合元素无序,且唯一。

无序:生成的集合后的元素顺序与定义集合时的顺序不一致。

唯一:多次添加重复的元素,只会保留一次。

示例

>>> n=set();x=set('梯阅线条');y=set('梯阅线条软件测试开发');z={'梯','阅','线条'}
>>> n
set()
>>> x
{'梯', '阅', '线', '条'}
>>> y
{'件', '软', '发', '梯', '阅', '试', '条', '线', '开', '测'}
>>> z
{'梯', '阅', '线条'}
#集合元素重复添加,只保存一次
>>> u=set('梯阅线条梯阅线条python集合')
>>> u
{'t', 'h', '梯', '阅', 'p', '合', '条', 'o', '线', 'n', 'y', '集'}

1.2 集合表达式

序号 表达式 描述
1 ‘s’ in set 判断元素是否属于集合。‘s’在集合set里返回True,否则返回False
2 xy,x>=y,x==y,x!=y 集合子集和超集值相等性操作符
3 x y
4 x ^ y 集合对称差,取属于集合x且不属于集合y,或属于集合y且不属于集合x的元素。即集合交集以外的元素。
5 x & y,x.intersection(y) 集合交集,取集合x和集合y都有的元素
7 x – y 集合差集,取在集合x,不在集合y的元素

示例

>>> s1=set('123')
>>> s2=set('345')
>>> s1
{'3', '2', '1'}
>>> s2
{'5', '3', '4'}
>>> s1^s2
{'2', '5', '1', '4'}
>>> s1&s2
{'3'}
>>> s1|s2
{'5', '3', '1', '2', '4'}
>>> s1-s2
{'2', '1'}
>>> 1 in s1
False
>>> '1' in s1
True
>>> s1 < s2
False
>>> s1 > s2
False
>>> s1 != s2
True

1.3 集合方法

1.3.1 intersection()

用法

x.intersection(y)

描述

python集合intersection()方法,用于求集合交集。

x.intersection(y),集合x与集合y的交集,对应表达式x&y。

入参

y:集合

出参

返回交集集合

示例

>>> s1=set('123')
>>> s2=set('345')
>>> s1
{'3', '2', '1'}
>>> s2
{'5', '3', '4'}
>>> s1.intersection(s2)
{'3'}

1.3.2 add()

用法

x.add(e)

描述

python集合add()方法,向集合添加元素。

x.add(e),向集合x添加元素e,如果存在则不变,否则新增。

入参

e:集合元素。

出参

改变原始集合。

示例

>>> s1
{'3', '2', '1'}
>>> s1.add('6')
>>> s1
{'6', '3', '2', '1'}

1.3.3 update()

用法

x.update(set)

描述

python集合update()方法,向集合添加集合或元素。

x.update(set) ,向集合x添加集合set,或者添加元素。

入参

set:集合或元素。

出参

改变原始集合。

示例

>>> s1
{'6', '3', '2', '1'}
>>> s1.update(set('127'))
>>> s1
{'7', '6', '3', '1', '2'}

1.3.4 remove()

用法

x.remove(e)

描述

python集合remove()方法,从集合删除指定元素。

x.remove(e),从集合x删除元素e。如果元素e不存在,则报错。

入参

e:要删除的元素

出参

改变原始集合。

示例

>>> s1
{'7', '6', '3', '1', '2'}
>>> s1.remove('7')
>>> s1
{'6', '3', '1', '2'}
>>> s1.remove('7')
Traceback (most recent call last):
 File ", line 1, in

1.3.5 discard()

用法

x.discard(e)

描述

python集合discard()方法,从集合删除指定元素。

x.discard(e),从集合x删除元素e。如果元素e不存在,不会报错。

入参

e:要删除的元素

出参

改变原始集合。

示例

>>> s1
{'6', '3', '1', '2'}
>>> s1.discard('6')
>>> s1
{'3', '1', '2'}
>>> s1.discard('6')
>>> s1
{'3', '1', '2'}

1.3.6 union()

用法

s1.union(s2)

描述

python集合union()方法,用于求集合的并集。

s1.union(s2),求集合s1和s2的并集。对应表达式s1|s2

入参

s2:集合

出参

返回新的集合

示例

>>> s1
{'3', '1', '2'}
>>> s2
{'5', '3', '4'}
>>> s1.union(s2)
{'5', '3', '1', '2', '4'}

1.3.7 issubset()

用法

s1.issubset(s2)

描述

pythhon集合issubset()方法,用于判断集合关系。

s1.issubset(s2),s1是s2的子集(s1的全部元素都在s2集合),则返回True,否则返回False。

入参

s2:父集合

出参

s1是s2的子集,返回True,否则返回False。

示例

>>> s1
{'3', '1', '2'}
>>> s2
{'2', '5', '3', '1', '4'}
>>> s1.issubset(s2)
True
>>> s2.issubset(s1)
False

1.4 集合不可变和冻结集合

python集合的元素只能是不可变对象,比如数字、字符串、元组等,不能为列表、字典、集合等。如果集合要嵌入集合,则要用frozenset方法。

示例

>>> s1
{'3', '1', '2'}
>>> s1.add(5)
>>> s1
{'3', 5, '1', '2'}
>>> s1.add([6,7])
Traceback (most recent call last):
 File ", line 1, in

1.5 集合解析

集合解析和列表解析类似,只需将循环表达式写在集合大括号{}里面。

示例

>>> {c*2 for c in '梯阅线条'}
{'线线', '梯梯', '条条', '阅阅'}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33157
  • 集合
    +关注

    关注

    0

    文章

    9

    浏览量

    8058
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83476
收藏 人收藏

    评论

    相关推荐

    Python谈yield表达式及其批量获得minibatches的应用

    Python 小谈 yield 表达式及其批量获得 minibatches 的应用
    发表于 05-21 08:20

    初识 Python 正则表达式

    正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。Python 自 1.5 版本起增加了re 模块,它提供 Perl
    发表于 03-17 16:44

    基因表达式编程的2种解码方法

    在基因表达式编程的基础上提出2种新的解码方法,分析了它们的时间和空间复杂度。第1种方法完全遵照原始基因表达式编程中基因型与表现型之间的映射关系,直接在基因型上计算
    发表于 04-10 09:00 19次下载

    防范表达式的失控

    在C 语言中,表达式是最重要的组成部分之一,几乎所有的代码都由表达式构成。表达式的使用如此广泛,读者也许会产生这样的疑问,像+ 、- 、3 、/ 、& & 这样简单的运算也会出现
    发表于 04-22 16:57 13次下载

    Python正则表达式教程之标准库的完整介绍及使用示例说明

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写
    发表于 01-23 16:00 3次下载
    <b class='flag-5'>Python</b>正则<b class='flag-5'>表达式</b>教程之标准库的完整介绍及使用示例说明

    Python正则表达式的学习指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写
    发表于 09-15 08:00 0次下载
    <b class='flag-5'>Python</b>正则<b class='flag-5'>表达式</b>的学习指南

    Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写
    发表于 03-26 09:13 10次下载
    <b class='flag-5'>Python</b>正则<b class='flag-5'>表达式</b>指南

    基于运算符信息的数学表达式检索技术

    信息,从而得到公式骨架存储结构。在此基础上,选择运算符值为1的节点及其相关文档建立索引,并通过数学表达式匹配算法得到与输入相似的表达式集合。实验结果表明,该方法能够从519588个数学
    发表于 04-29 15:58 2次下载
    基于运算符信息的数学<b class='flag-5'>表达式</b>检索技术

    初识 Python 正则表达式

    正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。 Python 自 1.5 版本起增加了re 模块,它提供 Perl
    的头像 发表于 03-17 16:44 1221次阅读

    Lambda表达式详解

    C++11中的Lambda表达式用于 **定义并创建匿名的函数对象** ,以简化编程工作。下面看一下Lambda表达式的基本构成。
    的头像 发表于 02-09 11:28 851次阅读

    表达式与逻辑门之间的关系

    逻辑表达式是指表示一个表示逻辑运算关系的式子,是一个抽象的类似数学表达式,下面我们重点说明下其表达式与逻辑门之间的关系。
    的头像 发表于 02-15 14:54 1126次阅读
    <b class='flag-5'>表达式</b>与逻辑门之间的关系

    C语言的表达式

    在C语言中,表达式是由操作符和操作数组成。表达式可以由一个或者多个操作数组成,不同的操作符与操作数组成不同的表达式,因此,表达式才是C语言的基本。
    的头像 发表于 02-21 15:09 955次阅读
    C语言的<b class='flag-5'>表达式</b>

    Python中的Lambda表达式

    Python 中,Lambda 表达式是一种非常强大的工具,它可以让你快速创建小型匿名函数,而不需要显式地定义函数名称。Lambda 表达式通常用于传递函数对象或简单的函数式编程。
    的头像 发表于 04-19 15:49 525次阅读

    Python中的正则表达式

    哈喽大家好,我是了不起,今天给大家讲Python中的正则表达式Python中,正则表达式是一种强大的文本处理工具,它可以用来匹配、搜索、替换文本。正则
    的头像 发表于 06-21 16:52 716次阅读

    zabbix触发器表达式 基本RS触发器表达式 rs触发器的逻辑表达式

    zabbix触发器表达式 基本RS触发器表达式 rs触发器的逻辑表达式  Zabbix是一款开源的监控软件,它能通过监控指标来实时监测服务器和网络的运行状态,同时还能提供警报和报告等功能来帮助管理员
    的头像 发表于 08-24 15:50 1216次阅读