当前位置: 首页 > news >正文

python之集合相关

1.概况

是无序的数据结构

集合内的个体统称为元素,每个元素不可重复

所有元素被放在大括号里面,元素之间通过逗号分隔

集合对象是一组无序的可哈希的值,集合元素是不可变的数据类型

2.定义集合

使用大括号语法

基本语法:

        {元素1,元素2,元素3,元素4............元素n}

        传递重复的值会自动去重

a = {"a","b",3,4,5}
print(a)
使用set()函数

创建空集合的时候使用set()函数创建,不能使用大括号,{}是创建的字典

print(set(["a","c","f"]))
print(set({"a":4,"f":8}))
print(set([1,5,5,6,5,5]))
print(set())

3.删除集合

只是删除变量对集合的引用关系,如果还有其余的对他进行引用,仍然有效

a = {"a","v","d"}
print(a)
del a 
print(a)

4. 访问集合

使用in或者not in检测是否存在集合元素,但是不能直接访问集合元素

使用len()函数获取集合的长度(元素的个数)

使用for来迭代集合的元素

间接访问,把集合转换成元组或列表,通过下标访问

5.添加元素

1.使用add()方法
a = set(range(20))
print(a)
a.add(100)
print(a)

如果该元素已存在,则不做任何操作

a = set(range(20))
print(a)
a.add(10)
print(a)
2.使用update()方法
a = set(range(20))
print(a)
#添加一个字符串
a.update("python")
print(a)
#添加一个列表
a.update([111,222,333])
print(a)
#添加一个元组,必须要加一个逗号,不然被判断为字符串
a.update(("sign",))
print(a)
#添加一个集合
a.update({"ewioh"})
print(a)

6.删除元素

1.使用remove()  

可移除指定元素,没有返回值,如果元素不存在则抛出异常

a = set(range(20))
print(a)
a.remove(1)
print(a)

如果删除的元素不存在,则抛出异常

a = set(range(20))
print(a)
a.remove(100)
print(a)
2.使用discard()

可移除指定元素,用法与remove()相同,元素不存在不执行删除操作

a = set(range(20))
print(a)
a.discard(10)
print(a)
a.discard(100)
print(a)
3.使用clear()

清空集合元素

a = set(range(20))
print(a)
a.clear()
print(a)
4.使用pop()

随机删除集合元素,并返回删除的集合元素

a = set(range(20))
l = []
#由于集合的上度是在变化的,所以不能直接访问集合
for i in range(len(a)):#将删除的集合添加到列表中l.append(a.pop())
print(l)

7.检测元素

使用in或not  in

a = {1,2,3}
if "a" in  a:a.remove("a")
if "a" not in a:a.add("a")
print(a)

8.合并集合

set1.update(set2)
a = {1,2,3}
b = {("python")}
a.update(b)
print(a)

9.复制集合

set.copy()
a = {1,2,3}
b = a.copy()
print(b)

使用copy模块
import  copy
a = {1,2,3}
b = copy.copy(a)
print(b)

http://www.lryc.cn/news/399996.html

相关文章:

  • 【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十一)-无人机服务可用性用例需求
  • 【Linux 配置静态IP】Ubuntu20.04
  • C++入门基础(2)
  • 芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
  • Java程序打印日志
  • 深入理解C++ 中的可调⽤对象
  • 汇编程序调用 C 程序详解
  • 代码随想三刷图论篇1
  • Windows 快捷键汇总
  • 微服务有哪些组件?
  • camera-qsc-crosstalk校准数据XTALK回写
  • 混合贪心算法求解地铁线路调度
  • vue项目:关闭页面,删除本地登录信息
  • 获奖案例回顾|基于卫星遥感和无人机的水稻全流程风险减量项目
  • 全栈 Discord 克隆:Next.js 13、React、Socket.io、Prisma、Tailwind、MySQL笔记(一)
  • 【Unity】制作简易计时器
  • TDesign组件库日常应用的一些注意事项
  • 51单片机7(点亮第一个LED)
  • 基于Vue和UCharts的前端组件化开发:实现高效、可维护的词云图与进度条组件
  • CentOS 系统监控项
  • 连锁直营店小程序赋能多店如何管理
  • 决策树算法入门到精通:全面解析与案例实现
  • LangChain —— 多模态大模型的 prompt template
  • ssh升级
  • 51单片机10(蜂鸣器介绍)
  • Python爬虫:基础爬虫架构及爬取证券之星全站行情数据!
  • T113-i 倒车低概率性无反应,没有进入倒车视频界面
  • 【AI大模型】李彦宏从“卷模型”到“卷应用”的深度解析:卷用户场景卷能给用户解决什么问题
  • 25秋招面试算法题 (Go版本)
  • 在Ubuntu 14.04上安装和保护phpMyAdmin的方法