python基础9_序列类型

回顾:

什么是变量?,有什么用?

可以变化的量, 就是个容器,多次变化,方便后续使用,

前面介绍了哪些数据类型?

bool, str, int, float

用什么函数查看数据的类型?

a = "hello"
print(type(a))

到了这一步,,我们认识了哪些数据类型呢?

int 整型(整数), float  浮点型(小数), bool布尔型(True  False),str 字符串

 上面的四种数据类型,有一个是卧底,你能发现吗?

提示, 东北虎,猎豹, 獾, 西伯利亚狼  哪一个区别其他动物

是的,没错,

就是他,西伯利亚狼

区别是什么呢?

他群居,有秩序

那么在回来看着几个数据类型

int, float, bool, str 这几个数据类型,那个像狼呢?

是的就是他 str

str_0 = "hello world"

 我们可以发现字符串里面可以有多个字符, 同时每个字符呢,都有一个下标,什么是下标呢,就是每个字符的 编号,就跟我们上学时,是不是每个学生都有一个学号,通过学号,我就能找到你这个人

如下所示:

那么我们知道字符串这个数据类型,可以存储多个元素, 还有下标,那么我们叫这种数据类型叫什么呢?

是的,就叫做有序序列类型   序列代表他可以存多个值里面的每一个字符都可以看做一个值,有序是他有顺序,也就是有下标

那么我们怎么通过下标获取字符串里面的值呢?

str_0 = "hello world"
print(str_0[0]) # 获取下标为0 的值 格式就是变量[下标]
print(str_0[1])
print(str_0[2])
print(str_0[3])
print(str_0[4])

结果如下:

上面讲了正向下标,除此之外还有反向下标,就是从右到左递增,效果如下:

同理可利用反向下标获取该下标的值

str_0 = "hello world"
print(str_0[-11]) # 获取下标为-11 的值 格式就是变量[下标]
print(str_0[-10])
print(str_0[-9])
print(str_0[-8])
print(str_0[-7])

结果如下:

 

上面这个通过下标获取序列里面的值,这个就叫做索引

值得注意的是有一种情况叫做下标越界,什么叫做下标越界呢,简单来说就是我序列里面的下标只有10个下标,但是你获取值是通过下标12, 15等等这些没有的下标去获取,

那序列只能说:臣妾做不到啊

如下:

str_0 = "hello world"
print(str_0[-12])

报错如下:

 前面我们讲了有序序列数据类型的索引,我们再来讲讲他的另一个概念-切片

什么是切片呢?你可以这样理解, 你手里有一把手术刀,你用你魔法般的手法,把有序序列这个数据,想怎么切成几段,就切成几段,然后从中获取自己想要的值

如下图所示

str_0 = "hello world"
a=str_0[2:6]#左闭右开,获取下标2-5的值
print(a, len(a))
b=str_0[3:11]#获取下标3-10的值
print(b)
c=str_0[-8:11]#获取下标3-10的值
print(c)
d=str_0[-8:]#获取下标3-10的值
print(d)
e=str_0[:7]#获取下标6前所有的值
print(e)
f=str_0[:]#获取所有的值
print(f)
g=str_0[::2]#获取步长为2的值
print(g)
h=str_0[::3]#获取步长为3的值
print(h)
i=str_0[::-1]#反向获取所有的值
print(i)

结果

序列有三个概念

索引, 切片, 步长

前面介绍的都是字符串这个有序的序列类型   

有序的序列类型还有两个

列表和元组

列表这个有序的序列类型用法如下

list_0=['hello','world',23,2.5,["李白",1]]
print(list_0[1])#打印下标1的值
print(list_0[::-1])#反向打印所有的值
print(list_0[-1][1])#嵌套打印列表里面1这个值

 元组也是属于有序的序列类型

具体用法如下

tuple_1=(1,2,3,4,5,6,7,8,9)#元组是用小括号包裹的多个值
#针对一个数据的情况下, 如果不加逗号就是字符串,如果后面加了一个逗号就是元组
tuple_2=("李白",)
print(type(tuple_2))

结果:

 上面就是一些序列类型的使用,其他比如列表和元组,他们使用索引,还有切片和步长都是和前面讲的字符串一样的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/442895.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue.js+SpringBoot开发大学计算机课程管理平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2.3 学生实验模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 实验课程档案表3.2.2 实验资源表3.2.3 学生实验表 四、系统展示五、核心代码5.1 一键生成实验5.2 提交实验5.3 批阅实…

【leetcode热题】重排链表

给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示…

Edge好用的插件

目录 浏览器下载插件 插件推荐 AdGuard 广告拦截器 功能介绍 Global Speed: 视频速度控制 功能介绍 iTab新标签页(免费ChatGPT) 功能介绍 篡改猴(强大的浏览器插件) 功能介绍 浏览器下载插件 点击浏览器右上角的三个点,选择扩展 …

icp许可证年报入口在哪?icp许可证年报流程详细介绍

近期拥有ICP许可证的企业负责人都会收到各地方通管局下发的年报通知,需要在每年的1-3月份报送年报信息,最晚报送时间是2024年3月31日。 对于刚申请或者刚接触这方面的朋友来说,可能连icp许可证年报入口在哪都不知道,更不用说后面…

【计算机网络】TCP 的三次握手与四次挥手

通常我们进行 HTTP 连接网络的时候会进行 TCP 的三次握手,然后传输数据,之后再释放连接。 TCP 传输如图1所示: 图1 TCP 传输 TCP三次握手的过程如下: 第一次握手:建立连接。客户端发送连接请求报文段,将 …

笔记78:软件包管理工具 apt 详解(包含常用 apt 命令介绍)

一、Ubuntu 的包管理工具 apt 过去,软件通常是从源代码安装的,安装步骤为:​​​​​​ 在Github上下载该软件的源码文件;查看Github上这个软件项目中提供的自述文件(通常包含配置脚本或 makefile 文件)&a…

比较JavaScript中的for...in和for...of循环

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Unity 让角色动起来(动画控制器)

下载素材: 导入后,找到预制体和动画。 新建动画控制器,拖动到预制体的新版动画组件上。 建立动画关系 创建脚本,挂载到预制体上。 using System.Collections; using System.Collections.Generic; using UnityEngine;public c…

git分布式管理-头歌实验搭建Git服务器

一、Git服务器搭建 任务描述 虽然有提供托管代码服务的公共平台,但是对一部分开发团队来说,为了不泄露项目源代码、节省费用及为项目提供更好的安全保护,往往需要搭建私有Git服务器用做远程仓库。Git服务器为团队的开发者们,提供了…

netty草图笔记

学一遍根本记不住&#xff0c;那就再学一遍 public static void test_nettyFuture() {NioEventLoopGroup group new NioEventLoopGroup();log.info("开始提交任务");Future<String> future group.next().submit(() -> {log.info("执行异步任…

【操作系统概念】第11章:文件系统实现

文章目录 0.前言11.1 文件系统结构11.2 文件系统实现11.2.1 虚拟文件系统 11.3 分配方法11.3.1 连续分配11.3.2 链接分配11.3. 3 索引分配 11.5 空闲空间管理11.5.1 位图/位向量11.5.2 链表11.5.3 组 0.前言 正如第10章所述&#xff0c;文件系统提供了机制&#xff0c;以在线存…

计算机设计大赛 疫情数据分析与3D可视化 - python 大数据

文章目录 0 前言1 课题背景2 实现效果3 设计原理4 部分代码5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 大数据全国疫情数据分析与3D可视化 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff0…

Halcon深度学习,异常值缺陷检测

前言 halcon深度学习分为常见的4大类。分类&#xff0c;语义分割&#xff0c;异常值检测&#xff0c;深度OCR。本篇主要针对halcon的异常值检测&#xff0c;如何训练和部署&#xff0c;并通过图像预处理的方式实现对异常值缺陷检测的精准实现。 异常值检测不同于语义分割的项目…

【python】异常处理

前言 省略各种废话&#xff0c;直接快速整理知识点 try-except 基础 作用 程序不可能永远都是对的&#xff0c;当7除a&#xff0c;a由用户输入时&#xff0c;用户输入0就会报错。try-except就是解决这些问题。 结构 多分支自定义错误类型 上方的exception是一个错误类型…

Unity编辑器功能Inspector快捷自动填充数据和可视化调试

我们有时候可能需要在面板增加一些引用&#xff0c;可能添加脚本后要手动拖动&#xff0c;这样如果有大量的脚本拖动也是不小的工作量 实例 例如&#xff1a;我的脚本需要添加一个Bone的列表&#xff0c;一个个拖动很麻烦。 实现脚本 我们可以用这样的脚本来实现。 public…

Python 3 教程(2)

Python3 基础语法 编码 默认情况下&#xff0c;Python 3 源码文件以 UTF-8 编码&#xff0c;所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码&#xff1a; # -*- coding: cp-1252 -*- 上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码&…

JavaSec 基础之 URLDNS 链

文章目录 URLDNS 链分析调用链复现反序列化复现 URLDNS 链分析 URLDNS是ysoserial里面就简单的一条利用链&#xff0c;但URLDNS的利用效果是只能触发一次dns请求&#xff0c;而不能去执行命令。比较适用于漏洞验证这一块&#xff0c;而且URLDNS这条利用链并不依赖于第三方的类…

幕译--本地字幕生成与翻译--Whisper客户端

幕译–本地字幕生成与翻译 本地离线的字幕生成与翻译&#xff0c;支持GPU加速。可免费试用&#xff0c;无次数限制 基于Whisper&#xff0c;希望做最好的Whisper客户端 功能介绍 本地离线&#xff0c;不用担心隐私问题支持GPU加速支持多种模型支持&#xff08;中文、英语、日…

web服务,C/S框架,单设备登陆实现方案

背景: 原登陆接口,校验密码通过后,使用springsession记录会话信息,将信息存入在redis中 基于原逻辑进行多设备登陆开发,默认的时候多设备登陆开关开启,即按原来逻辑处理,只要密码登陆校验成功之后,都会将当前的会话信息存入redis中. 当多设备开关关闭时候,同一个账号同一时间只…

Vue.js+SpringBoot开发高校大学生创业管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统公告模块2.2 创业项目模块2.3 创业社团模块2.4 政府政策模块2.5 创业比赛模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 系统公告表3.2.2 创业项目表3.2.3 创业社团表3.2.4 政策表 四、系统展示五、核心代码5.…