美文网首页python
python(10):集合

python(10):集合

作者: Li_bioinfo | 来源:发表于2022-03-31 10:39 被阅读0次

python中集合的概念与数学中集合的概念一致,一般用一对花括号或set进行定义,集合的元素可以是整数、浮点数、字符串或元组,但不能是列表、集合或字典。集合的定义有以下几种形式:

a={2,3.14,'python',(4,6,'C')}#定义一个集合,共有4个元素,元素类型分别是整数、浮点数、字符串和元组
a#查看变量a的值时,我们发现输出的顺序与定义的顺序并不致,这是集合的特征之一,元素是无序的,因此它不能做切片操作。
{(4, 6, 'C'), 2, 3.14, 'python'}
==============================================
b=set('人生苦短,我学python')#用set()函数定义了一个集合,当参数是字符串时,将每个字符作为集合的元素
b
{'h', 'n', 'o', 'p', 't', 'y', '人', '学', '我', '生', '短', '苦', ','}
===============================================
#当set()函数的参数是列表时,将方括号去掉,列表元素直接作为集合元素,我们发现列表中有2个6,但输出时只有1个6,因为集合的元素具有不可重复性,我们可以利用这个特性实现元素去重操作
c=set([345,6,35,4,6,353])
c
{4, 6, 35, 345, 353}
==============================================
#将元组作为set()函数的参数,输出时去掉圆括号
d=set(('天生我材必有用','千金散尽还复来'))
d
{'千金散尽还复来', '天生我材必有用'}
=============================================

在数学中集合有并集、交集、差集、补集等操作,这些操作可以非常便捷地用python实现。

python=set(['张三','王八','赵六']) #表示选修了python的名单
c=set(['王八','陈十一'])     #表示选修了c的名单
python&c  #交集,表示同时选修python与c
{'王八'}
================================================
In [4]: python|c  #并集,表示选了python或C
Out[4]: {'张三', '王八', '赵六', '陈十一'}
==========================================
In [5]: python-c  #差集,常用于删除元素,表示选了python但没选c
Out[5]: {'张三', '赵六'}
===================================================
In [6]: python^c  #对称差,输出只选一门课的学生,等价于并集-交集
Out[6]: {'张三', '赵六', '陈十一'}
=======================================
In [7]: (python|c)-(python&c)  #同python^c
Out[7]: {'张三', '赵六', '陈十一'}
========================================
In [8]: python<=c  #集合python若是集合c的真子集则返回True,否则返回False
Out[8]: False
In [9]: python>=c  #集合c若是集合python的真子集则返回True,否则返回False
Out[9]: False

集合还有一些常用的操作函数或方法:

In [24]: a={1,2,3}
In [25]: a.add(4)  #添加元素
In [26]: a
Out[26]: {1, 2, 3, 4}
In [27]: a.pop()  #随机返回一个元素,并删除
Out[27]: 1
In [28]: a
Out[28]: {2, 3, 4}
In [29]: a.discard(3) #删除元素,若无该元素不报错
In [30]: a
Out[30]: {2, 4}
In [31]: a.remove(5) #删除元素,若无该元素报错
Traceback (most recent call last):
  File "<ipython-input-40-91f29775c65b>", line 1, in <module>
    a.remove(5)
KeyError: 5
In [32]: a
Out[32]: {2, 4}
In [33]: len(a) #元素个数,即集合长度
Out[33]: 2
In [34]: 3 in a
Out[34]: False
In [35]: 3 not in a
Out[35]: True
In [36]: max(a)
Out[36]: 4
In [37]: min(a)
Out[37]: 2
In [38]: sum(a)
Out[38]: 6
In [39]: sorted(a) #升序排列
Out[39]: [2, 4]
In [40]: a.clear() #清空集合
In [41]: a
Out[41]: set() #空集

相关文章

  • python(10):集合

    python中集合的概念与数学中集合的概念一致,一般用一对花括号或set进行定义,集合的元素可以是整数、浮点数、字...

  • python--集合set

    集合set是python基本的数据结构,是可变序列,无序不重复。 环境 win10 64bit python 3....

  • python set集合,排序输出

    python set集合,排序输出 列表-->集合-->列表-->list sort() == 集合-->列表--...

  • 一个月没更新,今天来复习下python集合,你学会了吗?

    Python集合,你学会了吗? Python之集合(set) 集合(set)是一个无序的不重复元素序列。 可以使用...

  • Python基础-集合

    Python基础-集合 1.定义集合(元素不能重复) 2.集合操作

  • python3教程

    python3教程 python3函数 python3集合 Python 3.6.3 中文手册

  • 阅读材料PYTHON

    Python简介 Numpy工具集合 简介 numpy工具集是在Python环境下用于科学计算的工具集合 利用ar...

  • Python: set实例透析

    Python基础文章集合请移步。 Python里的 set数据类型 set是无序unique值的集合,常用来去重,...

  • Python札记10_集合set

    集合set是Python中的另一种数据类型,用{ }括起来表示,里面是单个的对象,不是键值对。集合的特点是里面的元...

  • Python 学习笔记 - 集合

    Python 集合 集合(set)是无序的、不重复的元素序列。 创建集合 使用花括号 { } 或者 set() 函...

网友评论

    本文标题:python(10):集合

    本文链接:https://www.haomeiwen.com/subject/cywgjrtx.html