Python笔记|字符串合并、切片、索引

news2025/1/13 7:37:26

一、合并

字符串可以用 + 合并(粘到一起),也可以用 * 重复:

>>> 3 * 'un' + 'ium'
'unununium'

相邻的两个或多个字符串字面值(引号标注的字符)会自动合并:

>>> 'Py' 'thon'
'Python'

拼接分隔开的长字符串时,这个功能特别实用:
>>> text = ('Put several strings within parentheses ' 'to have them joined together.')
>>> text
'Put several strings within parentheses to have them joined together.'

这项功能只能用于两个字面值,不能用于变量或表达式。
合并多个变量,或合并变量与字面值,要用 +

>>> prefix = 'Py'
>>> prefix + 'thon'
'Python'

二、索引

字符串支持 索引(下标访问),第一个字符的索引是 0。单字符没有专用的类型,就是长度为一的字符串:

>>> word = 'Python'
>>> word[0]
P
>>> word[5]
n

索引还支持负数,用负数索引时,从右边开始计数:

>>>** word[-1]
n
>>> word[-2]
o
>>> word[-6]
P

-0 和 0 一样,因此,负数索引从 -1 开始。

三、切片

字符串还支持切片。索引可以提取单个字符,切片则提取子字符串。

>>> word[0:2] #下标0和1
Py
>>>** word[2:5] # 下标 2 (包括) 到下标 5 (不包括)
tho

  • 切片省略开始索引时,默认值为 0,省略结束索引时,默认为到字符串的结尾。

>>> word[:2] # 默认从0下标开始但不包括下标2
Py
>>>** word[4:] #从下标4开始到最后
on
>>> word[-2:] # 从倒数第二个下标(包括在内)到末尾的字符
on

s [:i] + s [i:] 总是等于 s

>>>** word[:2] + word[2:]
Python
>>>= word[:4] + word[4:]
Python

切片索引指向的是字符之间 ,第一个字符的左侧标为 0,最后一个字符的右侧标为 nn 是字符串长度。
请添加图片描述
对于使用非负索引的切片,如果两个索引都不越界,切片长度就是起止索引之差。例如, word[1:3] 的长度是 2。

索引越界会报错:
>>> word[42]
>>> Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: string index out of range

但切片会自动处理越界索引:
>>>** word[4:42]
on
>>> word[42:]
''

  • Python 字符串不能修改,是不可变对象。因此,为字符串中某个索引位置赋值会报错:

具有固定值的对象。不可变对象包括数字、字符串和元组。这样的对象不能被改变。如果必须存储一个不同的值,则必须创建新的对象。它们在需要常量哈希值的地方起着重要作用,例如作为字典中的键。

>>> word[0] = 'J '
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment

>>> word[2:] = 'py'
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment

要生成不同的字符串可以拼接:

>>> 'J' + word[1:]
'Jython'
>>>** word[:2] + 'py'
'Pypy'

内置函数 [len()] 可以返回字符串的长度:

>>> s = 'supercalifragilisticexpialidocious'
>>> len(s)
34

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯每日一题 走迷宫bfs 超超详细解释!!!

昨天学习了bfs的基本概念&#xff0c;今天来做一道经典习题练练手吧&#xff01; bfs常用的两类题型 1.从A出发是否存在到达B的路径(dfs也可) 2.从A出发到B的最短路径&#xff08;数小:<20才能用dfs&#xff09; 遗留的那个问题的答案- 题目&#xff1a;走迷宫 答案&…

【Java刷题篇】串联所有单词的子串

这里写目录标题 &#x1f4c3;1.题目&#x1f4dc;2.分析题目&#x1f4dc;3.算法原理&#x1f9e0;4.思路叙述✍1.进窗口✍2.判断有效个数✍3.维护窗口✍4.出窗口 &#x1f4a5;5.完整代码 &#x1f4c3;1.题目 力扣链接: 串联所有单词的子串 &#x1f4dc;2.分析题目 阅…

力扣L14--- 415.字符串相加(JAVA版)-2024年3月17日

1.题目 2.知识点 注1&#xff1a;你可以使用Integer.parseInt()或Double.parseDouble()等方法将字符串转换为整数或浮点数。 public class Main {public static void main(String[] args) {String str "123";int num Integer.parseInt(str);System.out.println(…

如何在Mac中删除照片?这里有详细步骤

前言 本文介绍如何从Mac中删除照片,以释放硬盘空间或更好地组织文件和文件夹。 如何使用废纸篓删除Mac上的图片 在Mac上删除图片的最简单方法之一是使用废纸篓功能。学习只需几秒钟。下面是如何删除单个图片以及如何在Mac上删除多个图片,以及一些关键和有用的提示,以使该…

2023全球国际专利申请数量公布:华为遥遥领先三星、高通、苹果~

华为、三星和高通在2023年的国际专利申请数量上位居前三甲&#xff0c;其中来自中国的公司大幅度超越韩国和美国的高科技竞争对手。世界知识产权组织&#xff08;WIPO&#xff09;最新发布的数据显示&#xff0c;即使面临美国严厉制裁严重影响其在全球市场的运作能力&#xff0…

HTML静态网页成品作业(HTML+CSS)——家乡广州介绍设计制作(5个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有5个页面。 二、作品演示 三、代…

AI泳池溺水识别摄像机

AI泳池溺水识别摄像机是一种利用人工智能技术来监测和识别游泳池中溺水行为的智能监控设备。通过深度学习算法和图像识别技术&#xff0c;该摄像机能够实时捕捉游泳池的画面&#xff0c;自动分析水面动态和人员行为&#xff0c;判断是否有溺水事件发生&#xff0c;并及时发出警…

浅谈虚拟机下部分内网穿透功能实现方法

新钛云服已累计为您分享789篇技术干货 最近个人搭建服务器的情况有所增长&#xff0c;简单介绍一下一些可以使得服务器能被公网ip访问的方法。内网穿透一般用于将位于内部私有网络&#xff08;如家庭网络&#xff09;的服务暴露到公共网络&#xff08;如互联网&#xff09;上&a…

Java解决完全二叉树的节点个数

Java解决完全二叉树的节点个数 01 题目 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的…

java集合框架——Map集合概述

前言&#xff1a; 之前接触了单列合集&#xff0c;现在又接触了双列合集。整理下心得&#xff0c;打好基础&#xff0c;daydayup&#xff01;&#xff01; Map集合 Map集合称为双列集合&#xff0c;也被称为“键值对集合”。格式&#xff1a;{key1value1,key2value2...}&#…

4-如何进行细分市场分析- 04 案例分析 健身房行业投资项目

现在运用前面学过的如何进行细分市场分析的1、2 、3 &#xff0c;以健身房行业投资项目为例来进行细分市场的分析&#xff1a;首先是画行业的产业链&#xff0c;如下图&#xff0c;注意其中的关键节点&#xff0c; 接着对市场竞争者进行进行细分和特征分析&#xff0c;确定主要…

docker引擎

目录 一、Docker引擎发展历程 二、docker引擎架构 三、docker引擎分类 四、docker引擎安装 4.1安装条件 4.2 使用rpm存储库安装 4.2.1设置存储库 4.2.2安装docker引擎 4.2.3启动docker,并设置docker开机自启动 五、卸载docker引擎 5.1.卸载 Docker 引擎、CLI、conta…

python二级备考(2)-简单应用题

第1套 使用turtle库的turtle. right()函数和turtle.fd()函数绘制一个菱形&#xff0c;边长为200像素&#xff0c;4个内角度数为2个60度和2个120度 键盘输入一组人员的姓名、性别、年龄等信息&#xff0c;信息间采用空格分隔&#xff0c;每人一行&#xff0c;空行回车结束录入&a…

无人机机载频谱监测方案助力空中频谱监测与干扰排查

作者介绍 一、方案背景 频谱资源是通信最重要的资产之一&#xff0c;随着宽带无线业务的快速增长&#xff0c;对频率资源的需求大幅增加。未来频率资源的供需矛盾将非常突出&#xff0c;空中频谱环境也会越来越复杂&#xff0c;对于工程师来说&#xff0c;在复杂的电磁环境条件…

Unload-labs-pass-03

这里是设置了黑名单不能传.asp.aspx.php.jsp文件 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.asp,.aspx,.php,.jsp);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删…

GPT-4.5 Turbo详细信息被搜索引擎泄露:有重大改进

3月14日消息&#xff0c;据外电报道&#xff0c;OpenAI 最新人工智能模型 GPT-4.5 Turbo 的详细信息已通过 Bing 和 DuckDuckGo 的搜索引擎索引过早泄露。 GPT-4.5 Turbo 的产品页面在正式发布之前就出现在搜索结果中&#xff0c;引发了人们对 OpenAI 最新型号的特性和功能的猜…

0基础 三个月掌握C语言(11)

字符函数和字符串函数 为了方便操作字符和字符串 C语言标准库中提供了一系列库函数 接下来我们学习一下这些函数 字符分类函数 C语言提供了一系列用于字符分类的函数&#xff0c;这些函数定义在ctype.h头文件中。这些函数通常用于检查字符是否属于特定的类别&#xff0c;例如…

怎么在空闲时间用网络赚钱且收入不低于50?

何其有幸&#xff0c;我们生活在一个网络时代&#xff0c;买东西&#xff0c;生活缴费都可以通过网络来完成&#xff0c;给大家省下了大量的时间和精力&#xff0c;让生活更加便利。不仅如此&#xff0c;还可以通过网络来娱乐、交流&#xff0c;更可以通过它来赚钱。很多朋友上…

嵌入式学习39-程序创建数据库及查找

1.sqlite3_open int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能: 打开 数据库文件(创建一个数据库连接) 参数: filename: …

[java基础揉碎]断点调试

一个实际需求: 1.在开发中&#xff0c;新手程序员在查找错误时&#xff0c;这时老程序员就会温馨提示&#xff0c;可以用断点调试&#xff0c; 一步一步的看源码执行的过程&#xff0c;从而发现错误所在。 2.重要提示:在断点调试过程中&#xff0c;是运行状态&#xff0c;是以…