首页 > 其他分享 >Chapter 11 Paython数据容器:序列

Chapter 11 Paython数据容器:序列

时间:2024-07-21 14:27:47浏览次数:18  
标签:Chapter 11 Paython 切片 print 步长 str 序列 my

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能!

文章目录


前言

在 Python 中,数据容器是组织和管理数据的重要工具,序列作为其中一种基本的数据结构,具有独特的特性和广泛的应用。本章详细介绍了序列的定义及其切片操作。


本篇文章参考:黑马程序员

一、序列的定义

序列:内容连续、有序,可使用下标索引的一类数据容器。
列表、元组、字符串均可以可以视为序列。

在这里插入图片描述
在这里插入图片描述
如上图,序列的典型特征就是有序并可用下标索引,字符串、元组、列表均满足这个要求。

二、序列的切片

序列支持切片,即列表、元组、字符串,均支持进行切片操作。
切片:从一个序列中,取出一个子序列。

语法:序列[起始下标:结束下标:步长]
表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。
注意:切片操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)。

  • 起始下标:从何处开始,可以省略,省略视作从头开始
  • 结束下标(不含):到何处结束,可以省略,省略视作截取到结尾
  • 步长:依次取元素的间隔
    步长1表示一个个取元素;
    步长2表示每次跳过1个元素取;
    步长N表示每次跳过N-1个元素取;
    步长为负数表示反向取(注意:起始下标和结束下标也要反向标记)
# 对list进行切片,从1开始,到4结束,步长为1
my_list=[0,1,2,3,4,5,6]
# 步长默认是1,可省略不写
result=my_list[1:4]
print(result)

# 对list进行切片,从3开始,到1结束,步长为-1
# 步长默认是1,可省略不写
result2=my_list[3:1:-1]
print(result2)

输出结果:
[1, 2, 3]
[3, 2]

# 对tupe进行切片,从头开始,到尾结束,步长为1
my_tupe=(0,1,2,3,4,5,6)
# 起始和结束不写表示从头到尾
# 步长默认是1,可省略不写
result=my_tupe[:]
print(result)

# 对tupe进行切片,从头开始,到尾结束,步长为-2
result2=my_tupe[::-2]
print(result2)

输出结果:
(0, 1, 2, 3, 4, 5, 6)
(6, 4, 2, 0)

# 对str进行切片,从头开始,到尾结束,步长为2
my_str="01234567"
result=my_str[::2]
print(result)

# 对str进行切片,从头开始,到尾结束,步长为-1
result2=my_str[::-1] # 该写法等同于将序列反转
print(result2)

输出结果:
0246
76543210

【例题】
有一个字符串"nohtyP olleH"。请使用学过的任何方式,得到"Python "。

str="nohtyP olleH"
# 方法①:先倒序字符串,再切片取出
result1=str[::-1][6:12]
print(result1)

# 方法②:先切片取出,再倒序字符串
result2=str[0:6][::-1]
print(result2)

# 方法③:先split分割,再倒序字符串
result3=str.split(" ")[0][::-1]
print(result3)

输出结果:
Python
Python
Python

标签:Chapter,11,Paython,切片,print,步长,str,序列,my
From: https://blog.csdn.net/2302_80253507/article/details/140574472

相关文章

  • 【日记】雪王的门店这么危险没问题吗……(1168 字)
    正文最近总是隐隐地想写些什么东西。但一直没有时间。而且每当提起笔时,又不知道如何开头。心中的这团火,似乎不化为文字,就永远也消不下去。最近一直、一直——都是这样的感受。说实话,最近很长一段时间都十分苦闷。我似乎能摸到由头,但是也并非十分明确。有一天,......
  • Mike11前处理—如何快速简便的提取断面文件Cross sections?——ZDM法
    前言:近期接触了一些关于MIKE11提取断面的技巧,当然很多人应该知道这种方法——ZDM软件提取(一款水工设计软件)。我们一般拿到都是CAD版本的断面文件,如果一个一个去输入的话,繁琐又耗时,还容易出错,今天我们在这里介绍一种简单的断面提取方法—ZDM法此方法适用很普遍,小编抽个时......
  • SpectraLayers Pro11最新版,win& mac,绝对可用
    SteinbergSpectraLayersPro11v11.0.10for Windows&Mac一。SpectraLayers    领先的音频编辑和光谱修复智能解决方案,提供行业领先的人工智能算法,丰富的工具和功能,灵活的选项,在熟悉且友好的工作环境中自由探索处理和增强您的音乐,获得全新的结果,提高质量,是光......
  • 如何在 Windows 11 上停止自动更新
    您想禁用Windows11自动更新吗?这里有三种方法可以做到这一点。Windows11每月自动接收维护和安全更新,并根据需要修补漏洞、修复错误、提高整体性能和(偶尔)添加新功能。尽管这种方法使设备保持最新位的更新,但它是最令人沮丧的功能之一,因为更新的质量控制一直存在问题。......
  • 官方windows11构建版本-第三方作者构建的成品
    官方windows11构建版本-第三方作者构建的成品作者:【7月16日更新26120.1252】Windows1124H2x64原版集成ISO15in1简中-远景论坛-微软极客社区(pcbeta.com) 网盘文件列表:24H2(ge_release分支)(正式版)目录:网盘链接根目录/Windows/Windows11/24H2(ge_release)(ReleaseChan......
  • 洛谷 P1162 填涂颜色题解
    题目链接填涂颜色题目描述由数字\(0\)组成的方阵中,有一任意形状的由数字\(1\)构成的闭合圈。现要求把闭合圈内的所有空间都填写成\(2\)。例如:\(6\times6\)的方阵(\(n=6\)),涂色前和涂色后的方阵如下:如果从某个\(0\)出发,只向上下左右\(4\)个方向移动且仅经过其他\(0\)......
  • Windows11下使用VcXsrv+xfce4实现图形化窗口
    通过sudoapt-getinstallxfce4-terminalsudoapt-getinstallxfce4sudoservicedbusrestart来安装所需要的软件包,期初我也是按部就班的通过网上搜索到的教程进行操作,例如:sudonano~/.bashrc#在末尾添加exportDISPLAY=$(grep-m1nameserver/etc/resolv.conf......
  • 《流畅的Python》第二版 第11章
     fromarrayimportarrayimportmathclassVector2d:__match_args__=('x','y')typecode='d'def__init__(self,x,y):self.__x=float(x)self.__y=float(y)@propertydefx(self)......
  • 连接错误 [Errno 110] 连接超时
    我一直在尝试完成捕获标志分配,因此我需要使用Impacket的getST.py绕过SSO身份验证协议,但每当我尝试运行getST.py命令时,我最终都会收到连接超时错误。我该如何解决这个问题?在使用Impacket的getST.py时遇到“[Errno110]Connectiontimedout”错误,这表明的计算......
  • 代码随想录算法训练营第十五天 | 110.平衡二叉树、257. 二叉树的所有路径 、404.左叶
    110.平衡二叉树题目:.-力扣(LeetCode)思路:后序遍历计算高度代码:/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*......