首页 > 编程语言 >Python中列表(List)元组(Tuple)集合(Set)的区别和适用场景

Python中列表(List)元组(Tuple)集合(Set)的区别和适用场景

时间:2023-05-28 22:47:39浏览次数:46  
标签:Set Tuple Python union set set1 set2 print 集合

在Python中,列表(List)和元组(Tuple)都是序列类型的数据结构。它们具有相似的特性,如可以通过下标访问元素、支持切片操作等。而集合(Set)则是一个无序的集合类型。

下面是它们各自的特点和适用场景:

列表(List):

  • 有序的序列类型。
  • 可以存储任意类型的对象,并且可以动态地修改元素。
  • 适用于需要频繁对序列进行增删改查操作的场景,如数据的收集和处理、算法的实现等。

元组(Tuple):

  • 有序的序列类型。
  • 类似于不可变的列表,一旦创建就不能再修改其元素。
  • 适用于需要保护数据完整性和安全性的场景,如函数返回多个值时、保存一些常量值时等。

集合(Set):

  • 无序的集合类型。
  • 只能存储不可变对象(如数字、字符串、元组等),不能存储可变对象(如列表、字典等)。
  • 支持交、并、差等集合操作。
  • 适用于去重、关系运算等场景,如统计某个网站的独立访问量、过滤掉重复的数据等。

在Python中,set是一个无序的集合类型,它可以用来进行交、并、差等集合操作。我们可以通过以下方式进行这些操作:

交集运算

使用&符号或者intersection方法可以求两个set的交集。

python
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 使用&符号求交集
intersect = set1 & set2
print(intersect) 
# 输出:{3}

# 使用intersection方法求交集
intersect = set1.intersection(set2)
print(intersect) 
# 输出:{3}

并集运算

使用|符号或者union方法可以求两个set的并集。

python
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 使用|符号求并集
union = set1 | set2
print(union) 
# 输出:{1, 2, 3, 4, 5}

# 使用union方法求并集
union = set1.union(set2)
print(union) 
# 输出:{1, 2, 3, 4, 5}

差集运算

使用-符号或者difference方法可以求两个set的差集。

python
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 使用-符号求差集
diff = set1 - set2
print(diff) 
# 输出:{1, 2}

# 使用difference方法求差集
diff = set1.difference(set2)
print(diff) 
# 输出:{1, 2}

注意,以上操作都不会改变原有的set,而是返回一个新的set。如果需要直接修改原有的set,则可以使用对应的更新方法,例如update、intersection_update、difference_update等。

标签:Set,Tuple,Python,union,set,set1,set2,print,集合
From: https://www.cnblogs.com/cnxue/p/17439029.html

相关文章

  • Python 使用ConfigParser操作ini配置文件
    ini配置文件格式如下要求:ini文件必须是GBK编码,如果是UTF-8编码,python读取配置文件会报错。#这里是注释内容#[FY12361]#妇幼保健接口服务端口serverIP=192.168.1.11serverPort=8400[SM]#国产SM加密服务端口serverIP=192.168.1.11serverPort=8500说明:1.注释内容......
  • python老男孩第四课
    本节内容 反射之第二   装饰器   面向对象编程  异常处理  断言  反射之第二通过import导入 可以理解为导入文件夹  getattr 导入文件或函数装饰器defoutt(func):defwapper(arg):print('你好')reslt=func(arg)......
  • python Levenshtein—计算字符串相似性
    参考:https://maxbachmann.github.io/Levenshtein/Levenshtein距离,也称编辑距离,是一种字符串度量,用于衡量两个序列之间的差异。通俗地说,两个字符串之间的Levenshtein距离是将一个字符串更改为另一个字符串所需的最小单字符编辑(插入、删除或替换)次数。pythonLevenshtein中包括......
  • 安装不同版本的Python,并用不同指令运行想要运行的那个版本的python
    1、安装所需版本的Python,注意与其他版本的Python放在不同的文件夹下;例如这里我分别安装了Python2.7和Python3.7在D盘的两个文件夹中。2、设置这两个Python的环境变量,分别定位到这两个版本python.exe所在的目录下 3、将两个目录下的python.exe分别修改为python2.exe和python3......
  • Python asyncio之协程学习总结
    实践环境Python3.6.2什么是协程协程(Coroutine)一种电脑程序组件,该程序组件通过允许暂停和恢复任务,为非抢占式多任务生成子程序。协程也可以简单理解为协作的程序,通过协同多任务处理实现并发的函数的变种(一种可以支持中断的函数)。下面,我们通过日常生活场景为例,对什么是协程......
  • python内置库--secrets
    1关于secretssecrets模块用于生成高度加密的随机数,安全性比较高,应用方面有生成安全的随机数、生成密码字符串等python官方也推荐最好用secrets替代random模块,random模块生成的是一种伪随机数,基于系统时钟和其它可预测原理生成,不是真正随机和安全的2相关函数和类class......
  • 报错ImportError: cannot import name 'Iterable' from 'collections' in Python
    参考https://stackoverflow.com/questions/72032032/importerror-cannot-import-name-iterable-from-collections-in-python答案为3.10版本的python把Iterable从collections去除了,原答案粘贴如下:文字版和截图 TheIterableabstractclasswasremovedfromcollectionsin......
  • 使用Python实现分布式爬虫
    使用Python实现分布式爬虫在Web爬虫中,分布式爬虫已经成为一种流行的技术,可以帮助我们快速地收集互联网上的数据。下面我们将介绍如何使用Python实现分布式爬虫。什么是分布式爬虫?分布式爬虫是指将爬虫任务分配给多个计算机节点执行,以提高爬取效率和稳定性的一种技术。分布式爬虫通......
  • python - 进程与线程 -2
    1.线程一个进程可以包含多个线程,一条线程就是进程中一个单一顺序的控制流。一个进程中可以并发多个线程,每条线程执行不同的任务。1.1使用Thread创建线程importthreadingimporttimedeftask():foriinrange(3):time.sleep(1)print(f"线程名:{th......
  • Python+Requests零基础系统掌握接口自动化测试
    Python+Requests零基础系统掌握接口自动化测试download:3wzxit666com设计高性能的售票系统在当今数字化时代,一个高性能的售票系统对于任何企业或机构来说都是至关重要的。无论该系统服务于电影院、剧院、运输公司还是其他类型的场所,它必须始终可靠、快速和易于使用。以下是几个要......