首页 > 编程语言 >上手Python之set(集合)

上手Python之set(集合)

时间:2022-10-29 15:37:26浏览次数:52  
标签:set 结果 Python 元素 元组 语法 修改 上手 集合


为什么使用集合

我们目前接触到了列表、元组、字符串三个数据容器了。基本满足大多数的使用场景。 为何又需要学习新的集合类型呢?

通过特性来分析:

列表可修改、支持重复元素且有序

元组、字符串不可修改、支持重复元素且有序

有没有看出一些局限?

局限就在于:它们都支持重复元素。

如果场景需要对内容做去重处理,列表、元组、字符串就不方便了。

而集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序

集合的定义

基本语法:

上手Python之set(集合)_重复元素

和列表、元组、字符串等定义基本相同:

列表使用:[]

元组使用:()

字符串使用:""

集合使用:{} 

上手Python之set(集合)_重复元素_02

 

上手Python之set(集合)_python_03

 

结果中可见:

去重且无序

因为要对元素做去重处理

所以无法保证顺序和创建的时候一致 

集合的常用操作 - 修改 

首先,因为集合是无序的,所以集合不支持:下标索引访问

但是集合和列表一样,是允许修改的,所以我们来看看集合的修改方法。

添加新元素    

 语法:集合.add(元素)。将指定元素,添加到集合内      

结果:集合本身被修改,添加了新元素

上手Python之set(集合)_字符串_04

移除元素      

语法:集合.remove(元素),将指定元素,从集合内移除      

结果:集合本身被修改,移除了元素 

上手Python之set(集合)_开发语言_05

从集合中随机取出元素      

语法:集合.pop(),功能,从集合中随机取出一个元素      

结果:会得到一个元素的结果。同时集合本身被修改,元素被移除

上手Python之set(集合)_python_06

清空集合      

语法:集合.clear(),功能,清空集合      

结果:集合本身被清空 

上手Python之set(集合)_字符串_07

取出2个集合的差集      

语法:集合1.difference(集合2)

功能:取出集合1和集合2的差集(集合1有而集合2没有的)      

结果:得到一个新集合,集合1和集合2不变 

上手Python之set(集合)_字符串_08

消除2个集合的差集      

语法:集合1.difference_update(集合2)      

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素。      

结果:集合1被修改,集合2不变 

上手Python之set(集合)_元组_09

 2个集合合并      

语法:集合1.union(集合2)    

 功能:将集合1和集合2组合成新集合      

结果:得到新集合,集合1和集合2不变

上手Python之set(集合)_python_10

集合的常用操作 - 集合长度 

 查看集合的元素数量      

语法:len(集合)    

 功能:统计集合内有多少元素    

 结果:得到一个整数结果

上手Python之set(集合)_重复元素_11

集合的常用操作 - for循环遍历 

集合同样支持使用for循环遍历

上手Python之set(集合)_字符串_12

要注意:集合不支持下标索引,所以也就不支持使用while循环。

 

编号

操作

说明

1

集合.add(元素)

集合内添加一个元素

2

集合.remove(元素)

移除集合内指定的元素

3

集合.pop()

从集合中随机取出一个元素

4

集合.clear()

将集合清空

5

集合1.difference(集合2)

得到一个新集合,内含2个集合的差集

原有的2个集合内容不变

6

集合1.difference_update(集合2)

在集合1中,删除集合2中存在的元素

集合1被修改,集合2不变

7

集合1.union(集合2)

得到1个新集合,内含2个集合的全部元素

原有的2个集合内容不变

8

len(集合)

得到一个整数,记录了集合的元素数量

标签:set,结果,Python,元素,元组,语法,修改,上手,集合
From: https://blog.51cto.com/u_15786786/5806133

相关文章

  • 上手python之序列
    序列概念序列是指:内容连续、有序,可使用下标索引的一类数据容器列表、元组、字符串,均可以可以视为序列。如图,序列的典型特征就是:有序并可用下标索引,字符串、元组、列表均满足......
  • 上手Python之str(字符串)
    再识字符串尽管字符串看起来并不像:列表、元组那样,一看就是存放了许多数据的容器。但不可否认的是,字符串同样也是数据容器的一员。字符串是字符的容器,一个字符串可以存放任......
  • 上手Python之列表
    数据容器为什么学习数据容器思考一个问题:如果我想要在程序中,记录5名学生的信息,如姓名。如何做呢?学习数据容器,就是为了批量存储或批量使用多份数据 Python中的数据容器:一种......
  • 上手Python之函数
    函数函数:是组织好的,可重复使用的,用来实现特定功能的代码段。为什么随时都可以使用len()统计长度? 因为,len()是Python内置的函数:是提前写好的可以重复使用实现统计长度这......
  • 上手Python之元组
    为什么需要元组思考:列表是可以修改的。如果想要传递的信息,不被篡改,列表就不合适了。元组同列表一样,都是可以封装多个、不同类型的元素在内。但最大的不同点在于:元组一旦定......
  • 上手python之while循环和for循环
    while循环语句 只要条件满足会无限循环执行 小美心软,只要表白100次,就会成功print("小美,我喜欢你")print("小美,我喜欢你")print("小美,我喜欢你")...(还有97次)... 使用循......
  • 上手python之运算符和字符串格式化
    运算符算术(数学)运算符运算符描述实例+加两个对象相加 a + b 输出结果 30-减得到负数或是一个数减去另一个数 a - b 输出结果 -10*乘两个数相乘或是返回一个被重复......
  • 使用python 接入LDAP验证系统实践记录
    LDAP简介LDAP(LightDirectoryAccessPortocol)是轻量目录访问协议,基于X.500标准,支持TCP/IP。LDAP基本概念LDAP的目的是为各种软件提供统一标准的认证机制,所有软件就可......
  • 上手python之数据类型转换和标识符
    数据类型转换为什么要转换类型数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等那么,我们为什么要转换它们呢?数据类型转换,将会是我们以后经常使......
  • 上手python之变量和字符串
    什么是变量变量:在程序运行时,能储存计算结果或能表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的变量的定义格式: 变量就像盒子可以存放内容 变量的特征  ......