首页 > 编程语言 >Python集合

Python集合

时间:2024-04-08 10:05:11浏览次数:17  
标签:set Python 元素 add frozenset 集合 my

在Python中,集合是一种无序、可变的数据类型,用于存储不重复的元素。Python提供了两种内置的集合类型:set和frozenset。

set(集合):

  • set是可变的,意味着可以对其进行增删改操作。
  • 通过花括号 {} 或者使用 set() 函数来创建集合。
  • 集合中的元素是不可重复的,因此添加重复元素不会引发错误。
  • 集合中的元素是无序的,即不支持索引操作。
  • 主要用途是快速判断一个元素是否在集合中,因为集合的查询操作的时间复杂度是 O(1)。
  • 常用方法包括 add()、remove()、discard()、pop() 等。
  • 适用于需要存储不重复元素并进行快速查找的情况,如去重、成员关系检查等。
# 创建集合
my_set = {1, 2, 3, 4, 5}
# 添加元素
my_set.add(6)
# 删除元素
my_set.remove(3)
# 集合中是否包含某元素
print(2 in my_set)  # 输出 True

frozenset(冻结集合):

  • frozenset是不可变的,一旦创建就不能更改。
  • 通过 frozenset() 函数来创建冻结集合。
  • 与set相比,它不支持添加、删除等修改操作。
  • 冻结集合可用作字典的键,但普通集合不能作为键。
  • 适用于需要将集合作为字典键或者在不可变的上下文中使用集合的情况。
# 创建冻结集合
my_frozenset = frozenset([1, 2, 3, 4, 5])
# 尝试添加元素(会引发错误)
# my_frozenset.add(6)  # 引发 AttributeError: 'frozenset' object has no attribute 'add'
# 尝试删除元素(会引发错误)
# my_frozenset.remove(3)  # 引发 AttributeError: 'frozenset' object has no attribute 'remove'

在实际应用中,根据需求选择合适的集合类型是很重要的。如果需要频繁地对集合进行增删操作,并且不需要将集合作为字典的键,那么可以使用可变的set。如果需要将集合作为字典的键或者希望确保集合的不可变性,可以选择使用不可变的frozenset。

标签:set,Python,元素,add,frozenset,集合,my
From: https://blog.csdn.net/zuiyuewentian/article/details/137495974

相关文章

  • 计算机毕业设计项目:springboot 智能答疑系统 96852(开题答辩+程序定制+全套文案 )上万套
    毕业论文(设计) 题   目springboot智能答疑系统学   院       XXXXX     专业班级   XXXXX学生姓名       XXXX    指导教师            XXXX          撰写日期:202 年 月 日目 录摘要......
  • 计算机毕业设计项目:新生儿疫苗接种管理系统 87023(开题答辩+程序定制+全套文案 )上万套
    PHP新生儿疫苗接种管理系统系   院XXXX学科门类XXX专   业 XXX班级XXX学   号XXX姓   名XXX指导教师XXX教师职称XXX摘 要新生儿计划免疫是根据危害儿童健康的一些传染病,利用安全有效的疫苗,按照规定的免疫程序进行预防接种,......
  • 如何建立python应用的docker镜像
    Docker是一种轻量级的容器技术,能够帮助开发人员轻松地将应用程序打包和部署到不同的环境中。Python是一种流行的编程语言,Docker可以帮助我们将Python应用程序打包成镜像,方便部署到不同的容器环境中。本文将介绍如何使用Docker构建Python应用程序的镜像。安装Docker在开始构建Pyt......
  • 震撼!这个Python模块竟然能自动修复代码!
    说到Python的强大的地方,那真的是太多了,优雅、简洁、丰富且强大的第三方库、开发速度快,社区活跃度高等,所以才使得Python才会如此的受欢迎。今天给大家介绍一个特别暴力的Python库:FuckIt,1、FuckIt介绍FuckIt是一个Python实用工具,用于解决由于Python代码出错而导致的运行异常或......
  • Python项目替换requirements.txt
    一、简述在Python项目开发中,requirements.txt长久以来都是管理项目依赖的标准做法。然而,随着技术的发展和项目复杂度的增加,仅依靠requirements.txt来管理依赖已经远远不够。本文旨在向Python开发新手介绍更现代、更高效的依赖管理工具和方法,帮助你的项目保持健康、可维护和......
  • 从模型到部署,教你如何用Python构建机器学习API服务
    本文分享自华为云社区《Python构建机器学习API服务从模型到部署的完整指南》,作者:柠檬味拥抱。在当今数据驱动的世界中,机器学习模型在解决各种问题中扮演着重要角色。然而,将这些模型应用到实际问题中并与其他系统集成,往往需要构建API服务。本文将介绍如何使用Python构建机器学习......
  • 入门级Python编程题(8)洛谷《大象喝水》
    题目描述一只大象口渴了,要喝 2020 升水才能解渴,但现在只有一个深 ℎh 厘米,底面半径为 r 厘米的小圆桶(h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。Update:数据更新,这里我们近似地取圆周率 π=3.14。输入格式输入有一行:包行两个整数,以一个空格分开,分别表示......
  • Python基础笔记01-Python基础
    Python基础-day1!!!注意:本系列所写的文章全部是学习笔记,来自于观看视频的笔记记录,防止丢失。观看的视频笔记来自于:哔哩哔哩武沛齐老师的视频:2022Python的web开发(完整版)入门全套教程,零基础入门到项目实战1.文档工具typora2.环境搭建安装Python解释器学习Python语法Python......
  • python排序算法
    冒泡排序n=int(input())#5a=list(map(int,input().split(",")))#7,6,5,4,3foriinrange(0,n-1):#循环n-1次forjinrange(0,n-i-1):#循环n-i次,依次找第二大,第三大的等等ifa[j]>a[j+1]:a[j],a[j+1]=a[j+1],a[j]......
  • python学习--基础知识(字符串扩展)
    八、字符串扩展1、字符串的三种定义方式2、字符串的拼接3、字符串的格式化4、字符串格式化的精确度控制5、字符串格式化的快速方法6、字符串格式化--对表达式进行格式化......