python:序列切片

2023-05-16

Python 里,像列表(list)、元组(tuple)和字符串(str)这类序列类型都支持切片操作

切片和区间会忽略最后一个元素

使用方括号 [] 的形式截取字符,如下所示:
在这里插入图片描述

#!/usr/bin/python3

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])

以上实例输出结果:

[10, 20, 30, 40]

使用负数索引值截取:

#!/usr/bin/python3
 
list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"]
 
# 读取第二位
print ("list[1]: ", list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2])

以上实例输出结果:

list[1]:  Runoob
list[1:-2]:  ['Runoob', 'Zhihu']

使用切片完成对象复制

fruits = ['grape', 'apple', 'strawberry', 'waxberry']
fruits += ['pitaya', 'pear', 'mango']

# 可以通过完整切片操作来复制列表
fruits3 = fruits[:]
print(fruits3) # ['grape', 'apple', 'strawberry', 'waxberry', 'pitaya', 'pear', 'mango']

# 可以通过反向切片操作来获得倒转后的列表的拷贝
fruits5 = fruits[::-1]
print(fruits5) # ['mango', 'pear', 'pitaya', 'waxberry', 'strawberry', 'apple', 'grape']

对对象进行切片

我们还可以用 s[a🅱️c] 的形式对 s 在 a 和 b 之间以c 为间隔取值。c 的值还可以为负,负值意味着反向取值。

以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:
在这里插入图片描述

>>> s = 'bicycle' 
>>> s[::3] 
'bye' 
>>> s[::-1] 
'elcycib' 
>>> s[::-2] 
'eccb'

给切片赋值

如果把切片放在赋值语句的左边,或把它作为 del 操作的对象,我们就可以对序列进行嫁接、切除或就地修改操作。

>>> l = list(range(10))
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l[2:5] = [20, 30]
>>> l
[0, 1, 20, 30, 5, 6, 7, 8, 9]
>>> del l[5:7]
>>> l
[0, 1, 20, 30, 5, 8, 9]
>>> l[3::2] = [11, 22]
>>> l
[0, 1, 20, 11, 5, 22, 9]

slice():创建切片对象

  • 内置的 slice() 函数创建了一个切片对象,可以被用在任何切片允许使用的地方。
>>> items = [0, 1, 2, 3, 4, 5, 6]
>>> a = slice(2, 4)
>>> items[2:4]
[2, 3]
>>> items[a]
[2, 3]
>>> items[a] = [10,11]
>>> items
[0, 1, 10, 11, 4, 5, 6]
>>> del items[a]
>>> items
[0, 1, 4, 5, 6]

获取切片信息

  • 如果你有一个切片对象 a,你可以分别调用它的 a.start , a.stop , a.step 属性来获取更多的信息。
>>> a = slice(5, 50, 2)
>>> a.start
5
>>> a.stop
50
>>> a.step
2
>>>

indices(size):映射切片

  • 可以通过调用切片的 indices(size) 方法将切片映射到一个确定大小的序列上
    这个方法返回一个三元组 (start, stop, step) ,所有值都会被合适的缩小以满足边界限制,从而使用的时候避免出现 IndexError 异常。
>>> s = 'HelloWorld'
>>> a.indices(len(s))
(5, 10, 2)
>>> for i in range(*a.indices(len(s))):
... print(s[i])
...
W
r
d
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python:序列切片 的相关文章

  • linux 22.04版本ubuntu换源

    1 备份原始源文件 执行下面命令 xff0c 将原来的源文件备份保存 sudo cp etc apt sources list etc apt sources list bak 2 修改源文件sources list 打开源文件 xff0c
  • jquery dialog 弹出 ajax加载数据

    我之前就是想实现一个弹框 xff0c 在弹框的时候用ajax 动态加载要展示的内容 xff0c 这个地方实现起来并不难 xff0c 但是在实现的时候遇到了一个坑 页面 xff1a lt div id 61 34 logDiv 34 styl
  • 解决STM32新增加函数出现Undefined symbol HAL_ADC_Init (referred from main.o). 问题

    最近在开发STM32L0xx系列产品的ADC采集项目 xff0c 在老工程上添加库函数 xff0c stm32l0xx hal adc h stm32l0xx hal adc c函数 进行ADC初始化 xff0c 编译不通过出现 xff0c
  • GET,POST,PUT,DELETE,OPTIONS等请求方式简单总结

    之前做的java web项目 xff0c 基本上只使用get和post的请求方式 xff0c 但是现在新项目额外增加了put xff0c delete xff0c 查了点资料 xff0c 做个简单的总结 1 GET get请求是用来获取数据
  • IOS TableView Cell重用机制及TableView常用Code

    写的太好了 xff0c 多谢楼主的无私分享 文章来自 xff1a http heidianfeng blog 163 com blog static 6184345620121114104552518 创建UITableViewContro
  • 编译Linux驱动程序

    基于Ubuntu 12 10 xff0c 编译Linux驱动程序 1 准备linux内核源码 此时 xff0c 我要编译的驱动是基于Ubuntu 12 10内核的 xff0c 所以我下载的是其对应的内核源码包 xff1a linux 3 5
  • 卸载windows10子系统卸载linux

    参考地址 xff1a https docs microsoft com en us windows wsl wsl config 查看所有已经安装的分发版本 xff1a wsl list all 查看正在运行的分发版本 xff1a wsl
  • github镜像站

    github镜像站 xff1a https hub fastgit org GitHub 在国内经常会出现无法访问的情况 xff0c 下面分享几个 GitHub 镜像站供大家使用 xff01 全局加速 可直接访问站点 xff0c 查看代码等
  • vnc连接linux失败,vnc连接linux失败解决办法

    在日常工作学习中 xff0c 经常会使用到vnc连接 xff0c 那有小伙伴知道如何进行vnc连接linux吗 xff1f 当vnc连接linux失败又该如何解决呢 xff1f 之前有简单介绍过如何实现vnc连接linux 那接下来让我们一
  • 域名是如何关联到CDN的

    用户在访问一个域名的时候 xff0c 网络中是怎么知道这个域名到底是配置在哪一个CDN厂商的呢 xff1f 笔者以test1 huiziguoxueshe com为例 xff0c 来描述下具体的过程 xff0c 如下所示 xff1a ste
  • 第五章:软件详细设计

    真是应了那句 xff1a 白天游四方 晚上点灯补裤裆 捂脸 xff09 xff0c 孩子睡了夜深人静了 我才是开始我的小笔记整理工作 详细设计是软件设计的第二阶段 xff0c 这一阶段的工作 xff0c 就是要对系统中的每个模块给出足够详细
  • 第7章 软件测试(1)

    今天是个开心的日子 xff0c 具体为啥开心我知道你懂得 继续我的龟速学习小笔记 它来了它来了 xff0c 你说它很简单 xff0c 当我看到此章的一部分内容后发现了原来学霸和学渣差别就是如此大 xff08 捂脸 xff09 xff0c 今
  • 第7章 软件测试(3)

    一晃3天没有学习了 xff0c 昨天的阅读量创立了一个新高 xff0c 内心还是很欢喜的 7 4 2黑盒技术 黑盒技术着重测试软件功能 xff0c 需重点研究需求说明和总体设计中有关程序功能输入 输出之间的关系等信息 xff0c 从而与测试
  • 第七章 软件测试(此章完结)

    春乏秋困 xff0c 一个早上哈气连天 脖子酸 腰痛 xff08 捂脸 xff09 近期叫醒我的不是闹钟也不是梦想 xff0c 而是凌晨4点和6点广播大喇叭喊居民做核酸的声音 xff0c 还是别的小区的 xff08 再次捂脸 xff09 也
  • 第十章:面向对象分析(2)

    3 泛化关系 泛化关系和类找那个的泛化概念是一样的 xff0c 于用例继承父用例的行为和含义 xff0c 还可以增加或覆盖父用例的行为 xff0c 子用例可以出现在任何父用例出现的位置 xff08 父和子均有具体的实例 xff09 也可以重
  • 第十章:面向对象分析(此章完结)

    10 4 4建立活动图 活动具体表现为由一系列动作组成的执行过程 xff0c 将各种活动及不同活动之间的转换 xff0c 用图形进行表示就构成了活动图 xff0c 作用是对系统的行为建模 1 活动图与流程图 活动图描述系统使用的活动 xff
  • 第十五章 软件工程新技术

    俺家老大说这一章我不需要仔细看 xff0c 快快过一遍就行 xff08 可能是觉得以我的能力一时半会也用不到吧 xff08 捂脸 xff09 xff09 那么我就抄一段本章小结吧 xff0c 后面如有需要我在重新认真学习 xff08 奸笑
  • 第四章 软件测试方法(2)

    上周学习了白盒 xff0c 本周开始学习黑盒测试 4 3黑盒测试 黑盒测试 xff08 Black Box Testing xff09 也称功能测试 xff0c 主要测试每个功能是否正常使用 是软件测试使用中最广泛的一类测试 在黑盒测试中
  • vnc viewer手机中文版,超好用的5款vnc viewer手机中文版

    在平时工作中 xff0c 经常会用到vnc viewer软件 当软件打开都是英文介绍 xff0c 真的让人很头痛 在各种各样的vnc viewer手机中文版软件中 xff0c 要想找到那款让你使用方便的软件 xff0c 真的很不容易 xff
  • 第九章 APP项目测试(4) 测试工具

    接上面一篇 继续 xff08 7 xff09 kill process after error 参数说明 xff1a 用于指定当应用程序发生错误时 xff0c 是否停止运行 如果指定此参数 xff0c 当应用程序发生错误时 xff0c 应用

随机推荐

  • 第九章 APP项目测试(此章完结)

    9 4 5 Fiddler 是一个HTTP的调试代理工具 xff0c 它以代码服务器的方式 xff0c 监听系统的HTTP网络数据 xff0c 俗称抓包工具 可直接去官网下载安装 1 Fiddler工具介绍 启动Fiddler后 xff0c
  • 软硬件基础知识学习--小日记(1)

    终于看完了软件工程和软件测试技术指南两本书 xff0c 因为是自学总觉得前学后忘 有时候找老公不耻下问 xff0c 他总是很完美的把我问的哑口无言 昨天意外翻到黑马程序的的视频 xff0c 觉得非常适合我这0基础的小白 然后就有了今天的小日
  • Qt for Windows版本下编译QtDBus模块

    转载时请注明出处和作者联系方式 作者联系方 式 xff1a Lutx lt 80437 at zj dot com gt Qt中已经包含了QtDBus模块 但此模块只能在Unix系统下使用 却不支持Windows系统 这里介绍的是Windo
  • 智安网络丨一行代码,揭开CPU执行原理!

    计算机如何执行你写的代码 xff1f 知乎上有人提问 xff1a 电脑怎样执行编程语言的 xff1f 图片 很多刚刚入坑的小白可能对此完全没有概念 xff0c 或者模模糊糊知道个大概 xff0c 我们写下的一行行代码 xff0c 计算机到底
  • 推荐7个冷门手机APP,每一个都让我相见恨晚

    推荐7个让我相见恨晚的手机APP 1 Smart Kit 360 Smart Kit 360是一个全能的工具箱软件 xff0c 只有10M的大小 xff0c 却提供了40多个实用工具 xff0c 有了它 xff0c 就不需要下载这么多软件了
  • 推荐8款有趣实用的软件,建议你先收藏,总有一天你会用到

    推荐8个非常好用的软件 xff0c 每一个都能给人带来惊喜 xff0c 软件的实用性非常强 xff0c 千万不要错过了 1 央视频 央视频是中央广播电视总台出品的高质量视频社交软件 xff0c 内容丰富 xff0c 功能强大 强大的电视直播
  • 中国天气网 API

    中国天气网 API 真正的中国天气api接口xml xff0c json 详解 前言 某天想写个天气软件 xff0c 于是上网找找有没有免费的天气 API 发现许多的API不是收费 xff0c 就是不能用了 xff08 心塞塞 xff09
  • 【Linux-Ubuntu】apt-get update软件更新的时候经常出错

    1 网络问题 将电脑连接的WIFI改成手机热点连接 2 镜像源问题 使用最新的镜像源进行下载更新 xff1a 可以参考下面方式获取 xff1a 然后选择手动替换 xff0c 或者命令替换 xff0c 一般你直接复制原来的 list文件 xf
  • Flink与Kafka的爱恨情仇

    FlinkKafkaConsumer 源码剖析 FlinkKafkaConsumer 的继承关系如下图所示 可以发现几个版本的 FlinkKafkaConsumer 都继承自 FlinkKafkaConsumerBase 抽象类 xff0c
  • realvnc,简单介绍realvnc

    什么是vnc vnc xff08 Virtual Network Computing xff0c 虚拟网络计算 xff09 最早是一套由英国剑桥大学ATT实验室在2002年开发的轻量型的远程控制计算机软件 xff0c 其采用了 GPL 授权
  • 843. Guess the Word

    Hard 435458Add to ListShare This problem is an interactive problem new to the LeetCode platform We are given a word list
  • 127. Word Ladder

    Given two words beginWord and endWord and a dictionary 39 s word list find the length of shortest transformation sequenc
  • visual studio里配置boost

    visual studio使用boost的方法 xff0c 优选第一个 xff1a 1 使用nuget安装boost xff0c 根据不同的visual studio版本 xff0c 选择不同版本的boost vc 安装 xff0c 比如对
  • PHP json_decode中文转义的问题

    默认情况下PHP的 json decode 方法会把特殊字符进行转义 xff0c 还会把中文转为Unicode编码形式 在有些情况下不希望进行这种转义 对于PHP5 4 43 版本 xff0c json decode函数第二个参数 xff0
  • 访问win7的d$这种默认共享时拒绝访问

    访问win7的d 这种默认共享时拒绝访问 xff0c 即使输入正确的用户名密码 xff0c 也无法访问 导致这个问题的原因有多种 xff0c 本人当时是由于UAC的缘故 xff0c 所以这里只讲这一种 UAC即用户账户控制 xff0c 在w
  • OleDbConnection打开xls文件发生“External table is not in the expected format.”异常

    网上大量能搜索到的是 xff1a 打开xls用 34 Provider 61 Microsoft Jet OLEDB 4 0 Data Source 61 34 43 excelFilePath 43 34 Extended Propert
  • c#里,WebBrowser实现不加载图片等控制

    这个点子来自Jiang Sheng蒋大拿 xff1a http stackoverflow com questions 2048424 disable image loading from webbrowser control before
  • drop database 使用通配符批量删除数据库

    方案1 xff1a declare 64 sql varchar 8000 Select 64 sql 61 isnull 64 sql 39 39 43 39 drop database 39 43 name 43 char 13 fro
  • C/C++编程:可变参数

    常见实现方法 变常参数的宏定义以及 VA ARGS 变长参数的宏定义是指在宏定义中参数列表的最后一个参数为省略号 xff0c 而预定义宏 VA ARGS则可以在宏定义的实现部分替换省略号所代表的字符串 xff0c 比如 xff1a span
  • python:序列切片

    Python 里 xff0c 像列表 xff08 list xff09 元组 xff08 tuple xff09 和字符串 xff08 str xff09 这类序列类型都支持切片操作 切片和区间会忽略最后一个元素 使用方括号 的形式截取字符