广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 集合
  • 529
分享到

python 集合

python 2023-01-30 21:01:05 529人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

集合是一个无序的,不重复的数据组合,它的主要作用如下:去重,把一个列表变成集合,就自动去重了关系测试,测试两组数据之前的交集、差集、并集等关系去重将列表转换为集合使用set()方法list_1 = [1,2,4,5,2,

集合是一个无序的,不重复的数据组合,它的主要作用如下:


去重,把一个列表变成集合,就自动去重了

关系测试,测试两组数据之前的交集、差集、并集等关系


去重

将列表转换为集合

使用set()方法

list_1 = [1,2,4,5,2,6,7,4,8]
list_1 = set(list_1)
print(list_1,type(list_1))

执行输出

{1, 2, 4, 5, 6, 7, 8}

结果有点像字典的格式,但它不是字典,是一个集合。里面数据,已经去重了。

集合和字典一样,也是无序的。


交集

使用intersection()方法,将2个数据相同的部分提取出来

list_1 = [1,2,4,5,2,6,7,4,8]
list_1 = set(list_1)
list_2 = set([2,55,46,91,4,8])
print(list_1.intersection(list_2))

执行输出

{8, 2, 4}


并集

使用uNIOn()方法,将2个数据合并,去除重复的元素

list_1 = [1,2,4,5,2,6,7,4,8]
list_1 = set(list_1)
list_2 = set([2,55,46,91,4,8])
print(list_1.union(list_2))

执行输出

{1, 2, 4, 5, 6, 7, 8, 46, 55, 91}


差集

我有,你没有的部分

list_1 = [1,2,4,5,2,6,7,4,8]
list_1 = set(list_1)
list_2 = set([2,55,46,91,4,8])
print(list_1.difference(list_2))

执行输出

{1, 5, 6, 7}

说明: 拿list_1每一个元素去list_2中查找,如果有,直接忽略,否则就直接输出。


也可以反过来,用list_2向list_1求差集

print(list_2.difference(list_1))

执行输出

{91, 46, 55}


子集

子集是一个数学概念:如果集合A的任意一个元素都是集合B的元素,那么集合A称为集合B的子集。

也就是说,A集合的所有元素都包含在B集合中,A就是B的子集

print(list_2.issubset(list_1))

执行输出 False


超集

超集定义:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集。

#判断list_2是否是1的超集
print(list_2.issuperset(list_1))

执行输出 False


对称差集

将2个集合合并,删除相同的元素。

print(list_1.symmetric_difference(list_2))

执行输出

{1, 7, 5, 6, 55, 91, 46}


判断是否是相交集,返回bool值

list_1 = [1,2,4,5,2,6,7,4,8]
list_1 = set(list_1)
list_2 = set([2,55,46,91,4,8])
list_3 = set([3,9,10])
print(list_3.isdisjoint(list_2))

执行输出 True

集合3中的每一个元素,在集合2中,一个都没找到,返回True,否则返回false

哪怕只有一个元素找到了,也会返回false


上面的集合关系比较,都是用英文字母方法做的,也可以用符号表示


交集

print(list_1 & list_2)

执行输出

{8, 2, 4}


并集

print(list_1 | list_2)

执行输出

{1, 2, 4, 5, 6, 7, 8, 46, 55, 91}


差集

print(list_1 - list_2)

执行输出

{1, 5, 6, 7}


对称差集

print(list_1 ^ list_2)

执行输出

{1, 7, 5, 6, 55, 91, 46}


基本操作


添加

list_1.add(999)
print(list_1)

执行输出

{1, 2, 4, 5, 6, 7, 8, 999}


添加多个

list_1.update([88,77,66])

执行输出

{1, 2, 66, 4, 5, 6, 7, 8, 77, 88}


删除

list_1.remove(2)
print(list_1)

执行输出

{1, 4, 5, 6, 7, 8}


问题来了,集合里面有2个数字2,该删除哪一个呢?

集合天生就是去重的,所以不存在这个问题,它里面的每一个值都是唯一的。


集合的长度

print(len(list_1))

执行输出 7


判断某个值是否存在集合中

print(1 in list_1)

执行输出 True


判断某个值不存在集合中

print(1 not in list_1)

执行输出 False


列表,字典,集合,字符串 都可以用in方法


随机删除并返回删除的元素

print(list_2.pop())

执行输出 2


删除一个不存在的数据

print(list_1.discard(888))

执行输出 None

为什么会返回 None 呢?因为discard()没有返回值,即使删除一个不存在的值,也不会报错

而remove()删除一个不存在的值,会报错。


--结束END--

本文标题: python 集合

本文链接: https://www.lsjlt.com/news/178983.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python-集合
                        Set (集合)1 Set 定义:set可以用{}表示,但是不能用s{}这样定义,如果这样写,python编辑器会默认为是字典。             这样定义就不会是字典,里面加一些内容。 2 元...
    99+
    2023-01-31
    python
  • python 集合
    集合是一个无序的,不重复的数据组合,它的主要作用如下:去重,把一个列表变成集合,就自动去重了关系测试,测试两组数据之前的交集、差集、并集等关系去重将列表转换为集合使用set()方法list_1 = [1,2,4,5,2,...
    99+
    2023-01-30
    python
  • python集合
    1.集合的定义   * 集合是无序的,不重复的数据组合。  * 集合里不能定义列表。      2.集合的关系测试操作   3.集合的的添加   haha1.add("ss")   在集合后添加一项    haha1.update(["sd...
    99+
    2023-01-31
    python
  • python 集合
    1、定义集合是一个无序的,不重复的数据组合,它的主要作用如下:去重,把一个列表变成集合,就自动去重了;关系测试,测试两组数据之间的交集,差集,并集等关系。2、增加元素:s.add(): 吧括号里的元素添加到集合s当中,如果添加的元素已经在列...
    99+
    2023-01-31
    python
  • python,集合
    ************************集合***********************总结可变数据类型: 列表, 字典, 集合不可变数据类型: 数值类型, 字符串, 元组- 可变数据类型实现某个功能, 直接改变可变的数据类型;-...
    99+
    2023-01-31
    python
  • python---集合
    集合是一个无序的,不重复的数据组合,它的主要作用是:1.去重,把列表变为集合就去重了。2.关系测试,测试两组数据之前的差集,交集,并集等关系#创建两个集合 list_1 = set([1,3,4,5,6,6,5,7,9]) list_2 =...
    99+
    2023-01-31
    python
  • Python之集合
    集合概念 集合操作 集合概念集合是一类具有相类似属性的集合,一个包含不同元组的无序集(不支持排序操作),实现关系测试和剔除重复记录,支持union并集、∩交集、差集difference、对称差操作;特点:无序、元素唯一,...
    99+
    2023-01-31
    Python
  • python set(集合)
    set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据...
    99+
    2023-01-31
    python set
  • python怎么向集合中添加集合
    在 Python 中,集合是一种无序且不重复的数据类型。要向集合中添加集合,可以使用 `update()` 方法。下面是一个示例:`...
    99+
    2023-09-27
    python
  • python 集合、函数
     *集合:    set:持有一系列元素,但是set元素没有重复,并且无序     如何创建:set()并传入一个list,list的元素将作为set 的元素。s=set(['a','b','c']) print(s)    //set([...
    99+
    2023-01-31
    函数 python
  • python中的集合
    一、目录1、集合概述2、关于集合的操作符、关系符号3、集合的一系列操作(添加、更新、访问、删除)4、关于集合的内建函数、内建方法5、小结二、集合概述集合(set):把不同的元素组成一起形成集合,是python基本的数据类型。集合元素(set...
    99+
    2023-01-31
    python
  • python自学——集合
    #皇城根儿#集合:是无序的、不重复的;1、去重;2、关系测试#创建集合#创建数字集合number=set([1,3,5,7,9]) #数字型集合str_type=set(["im","is","are"])#字符串集合#列表转换成集合lis...
    99+
    2023-01-30
    python
  • Python学习 :集合
    集合 Set 集合的创建 集合的创建只有一种方式 集合中的元素必须是不可变的数据类型 集合是无序的,可以通过 for 循环来遍历或者迭代器进行筛选 s=set('xiaoming') s1=['alex','mike','alex'...
    99+
    2023-01-30
    Python
  • Python头歌合集(题集附解)
    目录 一、Python初识-基本语法  第1关:Hello Python!  第2关:我想看世界  第3关:学好Python  第4关:根据圆的半径计算周长和面积  第5关:货币转换  二、turtle简单绘图 第1关:英寸与厘米转换  ...
    99+
    2023-09-03
    python 开发语言
  • python基础之集合
    # set 不支持索引和切片,是一个无需的不重复得到容器 # 类似于字典,但是只有key 没有value # 创建集合 dic1={} set1={1,2,3} print...
    99+
    2022-11-12
  • Python面试题集合
    Python是如何进行内存管理的? http://developer.51cto.com/art/201007/213585.htm (没看懂) 什么是lambda函数?它有什么好处 http://www.kuqin.com/diveint...
    99+
    2023-01-31
    面试题 Python
  • Python的框架集合
    github:https://github.com/vinta/awesome-python A curated list of awesome Python frameworks, libraries and software...
    99+
    2023-01-31
    框架 Python
  • Python之集合详解
    目录集合的基本操作1、添加元素add()update()2、移除元素remove()clear()3、集合的交集什么是交集?intersection()3、集合的并集什么是并集?un...
    99+
    2022-11-12
  • Python基础——集合(set)
    集合可以去除掉列表中重复的元素。 创建 list1=[123,123,456,789] list1=set(list1) list1 set1=set() type(set1) set1=set([123,123,456,4...
    99+
    2023-01-31
    基础 Python set
  • python基础:集合-set()
    一、定义:集合是一个无序的,没有重复元素的序列。可以用来去重。使用{},和set()定义空集必须使用set()来定义可以set任何可迭代的对象string = 'this is string!' num = range(1, 11) lis...
    99+
    2023-01-31
    基础 python set
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作