Python 数据类型 (2)
1 集合类型:一维数组的集合
List列表是一个有序且可变的集合。允许重复成员。
turple元组是一个有序且不可更改的集合。允许重复成员。
Set集合是一个无序且无索引的集合。没有重复的成员。
dict字典是一个有序*且可变的集合。没有重复的成员。
!!!从 Python 3.7 版开始,字典才是有序的!!
2 列表类型(序列)
列表是使用方括号创建的:列表项值可以是任务数据类型
创建新列表时也可以使用 list() 构造函数
列表允许出现重复 由于列表已编入索引,因此列表可以包含具有相同值的项目:
mylist = ["一号", "二号", "三号"]
print(mylist)
mylist2=list["一号", "二号", "三号"]
print(mylist2)
mylist3 = ["一号", "四号", "三号","9号"]
print(mylist3)
支持根据需求列出列表值 1 单个索引,正常索引 :通过引用索引号来访问 注意:第一项的索引为 0。 2 负索引: 负索引意味着从头开始,-1指最后一项, -2指倒数第二项等。 3 索引范围 4 负指数范围
print(mylist[0])
print(mylist[-2])
print(mylist3[0:2]) #2不在内
print(mylist3[-2:-1])
可遍历列表 1 循环遍历列表for 。 2 遍历索引号 3 while循环遍历索引
for i in mylist :print(i)for i in range(len(mylist)):print([i])i =0
while i < len(mylist):print(mylist[i])i+=1
列表长度 len()函数表示
print(len(mylist))
检查列表是否存在符合条件的数据 指定数据 请使用in关键字。
print('四' in mylist3)
if '四号' in mylist3:print("数据存在")
更改列表值,可通过索引号 1 单索引 2 多索引 多个更改
mylist3[0]='五号啦'
print(mylist3)
mylist3[0:3]=['6号啦','对得了']
print(mylist3)
插入列表 从哪起插入,然后插入后,之前的数据往后,插入的数据是哪个就是第几个, 也可以指定位置添加数据
mylist4 = ["一号", "四号", "三2号","10号",'888']
mylist4.insert(1,'cahrule')
print(mylist4)
末尾加数据 用将值添加到列表的末尾,请使用append() 方法:
mylist4.append("moweitianj")
print(mylist4)
合并列表数据 将另一个列表中的元素附加到当前列表,请使用extend()方法。
注意:extend()方法不一定要 列表,您也可以添加任何可迭代对象(元组、集合、字典等)。
mylist4.extend(mylist3)
删除列表
删除指定目标 remove()方法
删除指定索引 pop()方法, 需要注意的是, 如果不指定索引,该pop()方法将删除最后一项。
del删除指定的索引 ,del关键字也可以完全删除列表, 也可以试试看看,但是会把列表删除找不到
mylist5 = ["一号", "四号", "三9号","10号",'8998']
mylist5.remove('一号')
print(mylist5)
mylist5.pop(2)
print(mylist5)
del mylist5[0]
print(mylist5)
del mylist5
print(mylist5) #数据列表不存在
clear()方法清空列表。该列表仍然存在,但没有内容。
mylist6 = ["一号", "四号", "三9号","10号",'8998']
mylist6.clear()
print(mylist6)
列表排序 区分大小写的排序
默认情况下,该sort()方法区分大小写,导致所有大写字母都排在小写字母之前:
不区分大小写的排序 str.lower 作为键函数:
mylist8= ["ABH", "aboh", "sudi","13号",'234']
mylist8.sort()
print(mylist8)
mylist8.sort(key=str.lower)
print(mylist8)
倒序
reverse()方法反转元素的当前排序顺序。
mylist8.reverse()
print(mylist8)
复制列表 copy()方法制作列表的副本: list()方法制作列表的副本:
mcopylist=mylist8.copy()
mylisys=list(mylist8)
print(mcopylist)
print(mylisys)
3 字典类型
什么是元组,简单的理解就是将一堆数据存放到一个容器中
但这个容器有一个特点,就是很固执,一旦定义了之后就不可改变,从某种意义上来说元组就是不可以改变的列表,功能和列表类似,同样可以进行切片、修改等操作。
元组的定义和列表类似,在括号中添加元素,元素之间使用逗号隔开
my_tuple=(1,2,5,7)
print(my_tuple)
tuple()函数:此函数的作用有两个:(1)可以使用tuple()创建一个空的元组
my_blank=()
my_blank2=tuple()
print(type(my_blank2),my_blank2)
任意无符号的对象,以逗号隔开,默认为元组, 元组应该要放到括号中,列表应该放到中括号中,然后用逗号来分割里面的元素,但是如果你什么符号都不使用,仅仅用逗号分割多个元素,这个时候Python默认你传入的参数类型为元组
my_tuples=1,2,3,88
print(type(my_tuples),my_tuples)
需要注意的是 如果元组中只有一个元素的话,需要在元素的后面加上一个逗号,否则元组只有一个元素不加逗号话,那么python 并不会认为它是一个元组
my_tuple1=(1,)
my_tuple2=(1)
print(type(my_tuple1),my_tuple1)
print(type(my_tuple2),my_tuple2)
元组也可以定义一个二维元组或者多维元组 ,并能够进行遍历
my_tuple3=((1,3),(5,6)) #多维组遍历出来展示
for i in my_tuple3:print(i)for i in my_tuple3: #列表数据遍历循环出来展示for cs in i:print(cs)
访问元组 访问和列表一样也是通过索引号来访问的 索引也是从0开始
my_tuple5=(1,2,5,7,9,3)
print(my_tuple5[0])
访问元组中某个范围元素的时候,此时就需要使用到切片的操作 和list 用法很多相似
print(my_tuple5[0:3])
print(my_tuple5[-3:-2])
将对应数据类型转换成元组
str='好的'
mytuple=tuple(str)
print(type(mytuple))
最大值 最小值
print(max(my_tuple5))
print(min(my_tuple5))
index()函数: 查找元组中某个元素在元组中的位置,如果元素出现多次则返回元素第一次出现的索引 index()函数,如果不指定范围,默认是查找整个元组,我们也可以指定范围
print(my_tuple5.index(1))
count()函数:统计元素出现的次数
print(my_tuple5.count(3))
和列表区别 由于元组是不可以修改的,所以使用元组最大的好处就是保证数据安全,一旦数据确定就无法修改其内容,除非你使用del指令将整个元组删除。
4 元组类型
相关文章:
Python 数据类型 (2)
1 集合类型:一维数组的集合 List列表是一个有序且可变的集合。允许重复成员。 turple元组是一个有序且不可更改的集合。允许重复成员。 Set集合是一个无序且无索引的集合。没有重复的成员。 dict字典是一个有序*且可变的集合。没有重复的成员。 !&#x…...

【教程】自动检测和安装Python脚本依赖的第三方库
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景说明 对于新python环境,要运行某个脚本,可能需要安装很多库,一般可以通过提供的requirements.txt来自动安装。但如果没有这个txt,那就得手动一个一个安装&#…...

0开始配置Cartographer建图和导航定位
0开始配置Cartographer 日期:12-19 硬件:激光雷达IMU 小车的tf变换: 建图配置 lua文件配置:my_robot.lua include "map_builder.lua" include "trajectory_builder.lua"options {map_builder MAP_BUILDE…...

Python中使用SQLite数据库的方法2-2
3.3.2 创建表单及字段 通过“3.2 创建Cursor类的对象”中创建的Cursor类的对象cur创建表单及字段,代码如图5所示。 图5 创建表单及字段 从图5中可以看出,通过Cursor类的对象cur调用了Cursor类的execute()方法来执行SQL语句。该方法的参数即为要指定的S…...

零代码也能玩出花:Mugeda在H5设计中的魔法力量
文章目录 一、Mugeda零代码可视化H5设计工具简介二、Mugeda零代码可视化H5设计实战案例1. 注册并登录Mugeda账号2. 选择模板3. 编辑页面内容4. 添加动画效果5. 预览和发布 三、Mugeda零代码可视化H5设计的优势《Mugeda零代码可视化H5设计实战》内容简介作者简介目录前言/序言 随…...

分布式、CAP 和 BASE 理论
在计算机科学领域,分布式系统是一门极具挑战性的研究方向,也是互联网应用中必不可少的优化实践,而 CAP 理论和 BASE 理论则是分布式系统中的两个关键的概念。 什么是分布式系统 首先,让我们来谈谈分布式系统。你可以将分布式系统…...

django之drf框架(两个视图基类、5个扩展视图类、9个视图子类)
两个视图基类 APIView和GenericAPIView drf提供的最顶层的父类就是APIView,以后所有的类都继承自他 GenericAPIView继承自APIView,他里面封装了一些工能 基于APIViewModelSerializerResposne写5个接口 子路由:app01>>>urls.py …...
23种设计模式学习
设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合…...

php 8.4 xdebug扩展编译安装方法
最新版php8.4 xdebug扩展只能通过编译方式安装, pecl是安装不了的, 编译方法如下 下载最新版xdebug git clone https://github.com/xdebug/xdebug.git 却换入xdebug目录执行编译安装xdebug cd xdebug phpize./configure --enable-xdebugmakemake install3. 配置启用xdebug 这…...

66biolinks v42.0.0 已注册 – 生物短链接、URL 缩短器、QR 码和 Web 工具 (SAAS) 源码
66biolinks v42.0.0:全能生物短链接与网络工具平台 一、开篇介绍 66biolinks v42.0.0是一款集生物链接、URL缩短器、二维码和网络工具于一体的综合性软件解决方案。作为社交生物链接平台的佼佼者,66biolinks提供了全方位的功能,旨在满足用户…...

《Vue2.X 进阶知识点》- 防 ElementUI Divider 分割线
前言 使用 el-divider 背景为白色是没问题的。 但当背景换成其它颜色,问题就出现了!! 仔细看原来是两层,默认背景色是白色。 想着把背景色改为透明应该能用,结果发现背面是一条实线,难怪要用白色遮挡…不符…...

【第十二课】KMP算法(acwing-831 / c++代码 / 思路 / 视频+博客讲解推荐)
目录 暴力做法 代码如下 KMP算法 不同的next求法-----视频讲解/博客推荐 视频推荐 博客推荐 课本上的方法- prefix的方法- 求next数组思路---next数组存放前缀表的方式 s和p匹配思路 代码如下 暴力做法 遍历s主串中每一个元素,如果该元素等于模板串p中…...
JSON 简介
JSON是什么?(了解) JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web应用程序之间的数据传输。 JSON格式是一种文本格式,用于描述数据的结构和内容。它由两种基本元素组成:键值对和…...

Impala4.x源码阅读笔记(三)——Impala如何管理Iceberg表元数据
前言 本文为笔者个人阅读Apache Impala源码时的笔记,仅代表我个人对代码的理解,个人水平有限,文章可能存在理解错误、遗漏或者过时之处。如果有任何错误或者有更好的见解,欢迎指正。 上一篇文章Impala4.x源码阅读笔记࿰…...
Ubuntu2204配置samba
0.前情说明 samba服务器主要是用来局域网共享文件的,如果想公网共享可能行不通,我已经踩坑一天了 所以说如果你想满足公网samba共享你就可以不要看下去了 1.参考连接 Ubuntu 安装 Samba 服务器_ubuntu安装samba服务器-CSDN博客 2.安装samba服务 sud…...

AVL树(超详解)
文章目录 前言AVL树的概念AVL树的实现定义AVL树insert 单旋左单旋右单旋左单旋代码右单旋代码 双旋左右双旋右左双旋 测试AVL树的性能 前言 AVL树是怎么来的呢? 我们知道搜索二叉树会存在退化问题,退化以后就变成单支或者接近单支。 它的效率就变成O(N)…...

禁止浏览器记住密码和自动填充 element-ui+vue
vue 根据element-ui 自定义密码输入框,防止浏览器 记住密码和自动填充 <template><divclass"el-password el-input":class"[size ? el-input-- size : , { is-disabled: disabled }]"><inputclass"el-input__inner"…...

K8s实战-init容器
概念: 初始化容器的概念 比如一个容器A依赖其他容器,可以为A设置多个 依赖容易A1,A2,A3 A1,A2,A3要按照顺序启动,A1没有启动启动起来的 话,A2,A3是不会启动的,直到所有的静态容器全 部启动完毕…...
Vue3.2 自定义指令详解与实战
一、介绍 在Vue3中,自定义指令为开发者提供了一种灵活的方式来扩展Vue的HTML模板语法,使其能够执行特定的DOM操作或组件逻辑。不同于Vue2.x中的全局和局部指令注册方式,Vue3引入了Composition API,这使得自定义指令的编写和使用更…...

XV-3510CB振动陀螺仪传感器
XV-3510CB传感器是一款振动陀螺仪传感器,具有卓越的稳定性和可靠性,超小的封装尺寸SMD53.21.3mm,密封提供了良好的可持续环保能力,采用振动晶体,该传感器具有稳定的性能和超长的寿命。振动晶体的振动能够提供更为精确的…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...

Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...

Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础,但这一子系统结构复杂,常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题,需要一套工具化、…...