我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python内置数据类型中的集合实例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python内置数据类型中的集合实例分析

本文小编为大家详细介绍“Python内置数据类型中的集合实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python内置数据类型中的集合实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    1. 集合 set 简介

    集合的最大特征是其每个元素都是唯一的,它可以删除、可以增加、也可以通过增删实现替换元素,但是它是没有下标的,你无法通过下标或者切片功能访问集合。因为集合就像一个袋子里面装着颜色不一样的玻璃球,你可以替换玻璃球,但是无法指定玻璃球存放的地点。

    它最大的作用,就是它元素的唯一,它经常被用来清除多余的数据。

    1.1 使用 { } 直接创建集合

    可以使用 {} 直接创建集合,但是不能使用 {} 创建空集合,因为 {} 被用来创建空字典。你只能通过 set() 来创建空集合。

    1.2 使用 set() 函数创建集合

    使用内置函数 set,可以快速的将其他类型的可迭代对象转换成 集合 对象。这些可迭代对象,可以是字符串、列表、元组等等。

    print("创建一个空集合")print(set())str1 = 'ABCDEF!'s=set(str1)print("*"*40)print("一个由字符串转换的集合,每个元素即唯一的单独字符")print(s)list1 = [0,1,2,3,4,3,2,1]s=set(list1)print("*"*40)print("一个由列表转换的集合,但是在列表中重复的元素只会出现一次")print(s)

    2. 集合没有切片功能!

    请仔细理解,集合没有切片功能,这意味着什么,这意味着无法对它排序(当然可以转换成列表再排序),意味着无法用 while 循环配合下标依次获得元素,你可以用 for 循环获取。

    3. 处理集合的常见内置函数

    3.1  len 函数

    len 函数返回集合的长度,即元素的个数。

    3.2  map 函数

    map 函数对集合中的每个元素进行相同的操作,然后返回一个 map 对象,再使用 set 函数可以得到集合

    >>> a{'sdf', 'er'}>>> set(map(lambda x:x+"-",a)){'er-', 'sdf-'}

    3.3  filter 函数

    filter 函数对集合中的每个元素进行相同的操作,符合条件的元素才留下来,返回一个 filter 类型的对象。

    >>> a{'sdf', 'er'}>>> set(filter(lambda x:len(x)==2,a)){'er'}

    3.4  reduce 函数

    filter 函数依次对集合中的元素进行相同的迭代操作最后得到一个对象。

    >>> import functools>>> a{'sdf', 'er'}>>> functools.reduce(lambda x,y:x+"~"+y,a)'sdf~er'

    3.5  sum 函数

    sum 函数,只对元素是数值的集合有效,返回列表中的元素总和,如果元素类型不是数值,则返回 TypeError。

    3.6  max 函数

    max 函数,返回集合中的元素最大值。

    3.7  min 函数

    min 函数,返回集合中的元素最小值。

    >>> a={1,2,3}>>> sum(a)6>>> min(a)1>>> max(a)3>>>

    3.8  sorted 函数

    sorted 函数会对集合按照指定方式进行排序,请注意,使用 sorted 函数会得到一个排好序的列表,不是集合!!!原集合不会改变。

    list1 = [0,1,2,3,4,3,2,1]s=set(list1)s1=sorted(s)print(s1)print(type(s1))

    Python内置数据类型中的集合实例分析

    3.9 enumerate 函数

    enumerate 函数可以将一个集合依次取出。

    3.10 any 函数

    any() 函数用于判断给定的集合的所有元素是否都为 False,则返回 False,如果有一个为 True,则返回 True。

    3.11 all 函数

    all() 函数用于判断给定的集合的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

    4. 集合的内置方法

    4.1  .add(val) 

    .add(val) 方法附加一个元素 val,如果 val 已经在集合中,那么原来的集合不变化。

    4.2  .clear() 

    .clear() 方法将集合清空。 

    4.3  .copy()

    .copy() 方法将返回集合的拷贝(而不是和原来的列表共用同一个地址)。 

    4.4  .difference(set1,set2,...)

    difference() 方法用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二、三、N个集合(方法的参数)中。

    4.5  .difference_update(set1,set2,...)

    difference_update() 方法用于移除两个或者多个集合中都存在的元素。

    difference_update() 方法与 difference() 方法的区别在于 difference() 方法返回一个移除相同元素的新集合,而 difference_update() 方法是直接在原来的集合中移除元素,没有返回值。

    # 集合的使用a={1,2,3,4,1}b={4,5,6,7}# 1.集合是不会有重复的元素的print("1. ",a)# 2.集合使用 add 方法加一个元素a.add("6")print("2. ",a)# 3.集合使用 clear 方法清空a.clear()print("3. ",a)a={1,2,3,4}# 4.集合使用 copy 方法复制数据c=a.copy()print("4. ",c)# 5.集合使用 difference 方法返回#   和其他集合不一样的数据print("5. ",a.difference(b))# 6.集合使用 difference_update 方法删除#   和其他集合一样的数据# a={1,2,3,4}# b={4,5,6,7}a={1,2,3,4}b={4,5,6,7}print("6. ",a.difference_update(b))print("6. ",a)a={1,2,3,4}c={1}a.difference_update(b,c)print("6. ",a)# 7.集合使用 discard 方法删掉数据 vala={1,2,3,4}a.discard(2)print("7. ",a)

    Python内置数据类型中的集合实例分析

    4.6  .discard(val)

    .discard 方法删除集合中指定的元素。

    4.7  .intersection(set1,set2,...)

    .intersection 方法返回集合的交集,自身不受影响。

    4.8  .intersection_update()

    .intersection 方法原地改变自身为两个或者多个集合的交集。

    >>> a={1,2,3,4,5}>>> b={2,3,4,5,6,7}>>> a.intersection(b){2, 3, 4, 5}>>> a{1, 2, 3, 4, 5}>>> b{2, 3, 4, 5, 6, 7}>>> a.intersection_update(b)>>> a{2, 3, 4, 5}>>> b{2, 3, 4, 5, 6, 7}

    4.9  .isdisjoint()

    .isdisjoint 方法判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

    >>> a={1,2,3,4,5}>>> b={2,3,4,5,6,7}>>> c={"a","b"}>>> a.isdisjoint(b)False>>> a.isdisjoint(c)True

    4.10 .issubset(other_set)

    .issubset 方法判断自身集合是否为该方法参数集合 other_set 的子集。

    >>> a={1,2,3,4,5}>>> b={2,3,4,5,6,7}>>> c={1}>>> a.issubset(b)False>>> a.issubset(c)False>>> c.issubset(a)True

    4.11 .issuperset(other_set)

    .issuperset 方法判断该方法参数集合 other_set 是否为自身集合的子集。

    >>> a={1,2,3,4,5}>>> b={2,3,4,5,6,7}>>> c={1}>>> a.issuperset(b)False>>> a.issuperset(c)True

    4.12 .pop()

    .pop() 方法将返回集合中的一个元素,原集合将删除该元素。

    请注意,集合中的 pop 方法是没有 index 参数!如果像使用列表中的 pop 方法输入 index 参数,则返回 TypeError: pop() takes no arguments (1 given) 错误。

    4.13 .remove()

    .remove(val) 方法将删除集合中的 val 元素,返回为空。如果 val 不在集合中,则返回 KeyError 错误。

    4.14 .symmetric_difference()

    返回两个集合中不重复的元素集合,而不改变自身集合。

    4.15 .symmetric_difference_update()

    移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

    # 10.集合使用 ^ 操作符返回#   两个集合中不一样的数据# 等同于 symmetric_difference方法a={1,2,3,4}b={4,5,6,7}tmp=a^bprint("10. ",tmp) print("a==>",a)print("b==>",b)print("使用 ^ 操作符 原来的集合不受影响")print("*"*60)print("a.symmetric_difference(b)==>",a.symmetric_difference(b))print("a==>",a)print("b==>",b)print("使用 symmetric_difference方法 原来的集合不受影响")print("*"*60)print("a.symmetric_difference_update(b)==>",a.symmetric_difference_update(b))print("使用 symmetric_difference_update 原来的集合会改变")print("a==>",a)print("b==>",b)print("*"*60)

    Python内置数据类型中的集合实例分析

    4.16 .union(other_set)

    .union 方法返回两个集合的并集,而不改变自身集合。

    4.17 .update(other_set)

    .update 方法给自身集合集合添加元素。

    >>> a={0,1}>>> b={3,4}>>> c={5,6}>>> a.union(b){0, 1, 3, 4}>>> a{0, 1}>>> b{3, 4}>>> a.update(b)>>> a{0, 1, 3, 4}>>> b{3, 4}

    5. 集合和运算符

    5.1 - 运算符

    a 、b 是两个集合;a - b类似于 a.difference(b) 方法,即返回集合a中包含而集合b中不包含的元素,自身不受改变。

    >>> a={0,1,2,3}>>> b={2,3,4,5}>>> a-b{0, 1}>>> a.difference(b){0, 1}

    5.2 | 运算符

    a 、b 是两个集合;a | b类似于 a.union(b) 方法,即返回集合a和b中所有的元素,自身不受改变。

    >>> a={0,1,2,3}>>> b={2,3,4,5}>>> a|b{0, 1, 2, 3, 4, 5}>>> a.union(b){0, 1, 2, 3, 4, 5}

    5.3 & 运算符

    a 、b 是两个集合;a & b类似于 a.intersection(b) 方法,即返回集合a和b中都包含了的元素,自身不受改变。

    # 9.集合使用 & 选出集合重叠的部分#   等同于 insection 方法a={1,2,3,4}b={4,5,6,7}print("*********  初始数据  ***********")print("a==>",a)print("b==>",b)print("8. a & b==>",a & b)print("执行 a & b 后")print("a==>",a)print("b==>",b)print("使用 & 操作符 原来的集合不受影响")print("*"*60)print("8. a.intersection(b)==>",a.intersection(b))print("使用 intersection 方法 原来的集合不受影响")print("a==>",a)print("b==>",b)print("*"*60)print("8. a.intersection_update(b)==>",a.intersection_update(b))print("使用 intersection_update 方法 原来的集合会改变")print("a==>",a)print("b==>",b)print("*"*60)

    Python内置数据类型中的集合实例分析

    5.4 ^ 运算符

    a 、b 是两个集合;a ^ b类似于 a.symmetric_difference(b) 方法,即返回不同时包含于a和b的元素,自身不受改变。

    >>> a={0,1,2,3}>>> b={2,3,4,5}>>> a.symmetric_difference(b){0, 1, 4, 5}>>> a^b{0, 1, 4, 5}

    5.5 in 、not in 运算符

    in 运算符判断某个元素属于某个集合

    not in 运算符判断某个元素不属于某个集合

    >>> a={0,1,2,3}>>> 0 in aTrue>>> "0" in aFalse

    读到这里,这篇“Python内置数据类型中的集合实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Python内置数据类型中的集合实例分析

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

    下载Word文档

    猜你喜欢

    Python内置数据类型中的集合实例分析

    本文小编为大家详细介绍“Python内置数据类型中的集合实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python内置数据类型中的集合实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. 集合 s
    2023-06-29

    Python集合与字典数据类型实例分析

    这篇文章主要讲解了“Python集合与字典数据类型实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python集合与字典数据类型实例分析”吧!前言集合数据类型是没有顺序的简单对象的聚集
    2023-06-29

    WCF集合类型中数据契约实例分析

    本篇内容介绍了“WCF集合类型中数据契约实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!缺省情况下,WCF框架对集合类型是内建支持的,
    2023-06-17

    python的集合类型举例分析

    本篇内容介绍了“python的集合类型举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!集合:无序不重复的元素的组合利用集合可以删除列表
    2023-06-21

    Python-集合数据类型内置方法

    用途:用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序。定义方式:{}内用逗号隔开多个元素,元素只能是不可变类型(整形、浮点型字符串),且有两个特点:1、会删除重复的值2、
    2023-01-31

    Python数据类型实例分析

    本篇内容主要讲解“Python数据类型实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python数据类型实例分析”吧!一、内容概要字符串(str)列表(list)元组(tup)字典(di
    2023-06-02

    Python中的基本数据类型实例分析

    这篇“Python中的基本数据类型实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中的基本数据类型实例分析
    2023-07-02

    Python中的变量和数据类型实例分析

    本篇内容介绍了“Python中的变量和数据类型实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python是一门弱数据类型的语言,变量
    2023-06-29

    JavaScript中的数据类型Number实例分析

    这篇“JavaScript中的数据类型Number实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript
    2023-06-30

    Redis中String数据类型实例分析

    本文小编为大家详细介绍“Redis中String数据类型实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Redis中String数据类型实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概述:字符串类
    2023-06-29

    Ajax的数据类型实例分析

    今天小编给大家分享一下Ajax的数据类型实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在 Ajax 的使用中,遇到了
    2023-06-27

    Python中函数的参数类型实例分析

    今天小编给大家分享一下Python中函数的参数类型实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、Python的函
    2023-07-02

    python列表中数据类型的示例分析

    这篇文章给大家分享的是有关python列表中数据类型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞
    2023-06-14

    SQL Server中的XML数据类型实例分析

    本篇内容主要讲解“SQL Server中的XML数据类型实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL Server中的XML数据类型实例分析”吧!SQL Server从2005起
    2023-06-30

    pytorch中函数tensor.numpy()的数据类型实例分析

    这篇文章主要讲解了“pytorch中函数tensor.numpy()的数据类型实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“pytorch中函数tensor.numpy()的数据类型
    2023-07-02

    Redis基本数据类型Zset有序集合常用操作实例分析

    这篇文章主要介绍“Redis基本数据类型Zset有序集合常用操作实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Redis基本数据类型Zset有序集合常用操作实例分析”文章能帮助大家解决问题。
    2023-06-30

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录