python容器-字符串

一、容器类型

1.1 容器介绍

容器就是存储多个数据的东西, 同时Python为了方便我们对容器中的数据进行增加删除修改查询专门提供了相应的方法便于我们操作

1.2 容器类型

Python中常见容器有如下几种:

  • 字符串
  • 列表
  • 元组
  • 字典
  • 集合

二、字符串

2.1 字符串介绍

字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。

点击查看代码
a = 'hello python'
print(type(a))

这就是一个字符串

2.2 字符串特征

当我们因为一行输入不完字符串的时候,想要多行输入,这个时候既可以使用a = """ """进行定义字符串,其可换行。
同时有一些常用的转义字符也需要记住

转义字符 描述
\’ 单引号
\” 双引号
\t 制表符
\n 换行
\ 反斜杠符号

2.3 下标

“下标”又叫“索引”,就是编号。在编程中,下标都是从0开始。
通过字符串下标获取不同位置的数据:

点击查看代码
s = 'abcdefghijklmn'
print(s[0])
print(s[1])
print(s[10])
print(s[-1])
print(s[-11])

2.4 切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
语法:
切片语法:

序列[开始位置下标:结束位置下标:步长]

注意

1. 不包含结束位置下标对应的数据, 正负整数均可;
2. 步长是选取间隔,正负整数均可,默认步长为1。

2.5 字符串常用方法

2.5.1 查找

所谓字符串查找方法即是查找子串在字符串中的位置或出现的次数。

  • find():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。
    其语法为:
字符串序列.find(子串, 开始位置下标, 结束位置下标)

其开始和结束位置下标都可以省略。

点击查看代码
mystr = "this is python string example is ok"print(mystr.find('is'))  
print(mystr.find('is', 3, 7))  
print(mystr.find('as'))  

index():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。
其语法为:

字符串序列.index(子串, 开始位置下标, 结束位置下标)

同样的开始和结束位置下标都可以省略。

点击查看代码
mystr = "this is python string example is ok"print(mystr.index('is'))  
print(mystr.index('is', 3, 7))  
print(mystr.index('as'))  

2.5.2 修改

replace():替换
其语法为

字符串序列.replace(旧子串, 新子串, 替换次数)
点击查看代码
mystr = "this is python string example is ok"print(mystr.replace('is', 'IS'))
print(mystr.replace(' ', ','))
print(mystr)

split():按照指定字符分割字符串。
其语法为:

字符串序列.split(分割字符, num)
点击查看代码
mystr = "this is python string example is ok"print(mystr.split(' '))
print(mystr.split('is', 1))
  • join():用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串。
  1. 语法
字符或子串.join(多字符串组成的序列)
  1. 示例:
list1 = ['a', 'b', 'c', 'd']
print('_'.join(list1))
  • capitalize():将字符串第一个字符转换成大写。
mystr = "this is python string example is ok"print(mystr.capitalize())

注意:capitalize()函数转换后,只字符串第一个字符大写,其他的字符全都小写。

  • title():将字符串每个单词首字母转换成大写。
mystr = "this is python string example is ok"print(mystr.title())
  • lower():将字符串中大写转小写。
mystr = "This Is Python String Example Is Ok"print(mystr.lower())
  • upper():将字符串中小写转大写。
mystr = "this is python string example is ok"print(mystr.upper())
  • lstrip():删除字符串左侧空白字符。
  • rstrip():删除字符串右侧空白字符。
  • strip():删除字符串两侧空白字符。

2.5.3 判断

所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False。

  • startswith():检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。
  1. 语法
字符串序列.startswith(子串, 开始位置下标, 结束位置下标)
  1. 示例:
mystr = "this is python string example is ok   "# 结果:True
print(mystr.startswith('this'))# 结果False
print(mystr.startswith('this', 5, 20))
  • endswith()::检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。
  1. 语法
字符串序列.endswith(子串, 开始位置下标, 结束位置下标)
  1. 示例:
mystr = "this is python string example is ok"# 结果:True
print(mystr.endswith('ok'))# 结果:False
print(mystr.endswith('ok', 2, 20))
  • isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False。
mystr1 = 'hello'
mystr2 = 'hello12345'# 结果:True
print(mystr1.isalpha())# 结果:False
print(mystr2.isalpha())
  • isdigit():如果字符串只包含数字则返回 True 否则返回 False。
mystr1 = 'aaa12345'
mystr2 = '12345'# 结果: False
print(mystr1.isdigit())# 结果:False
print(mystr2.isdigit())
  • isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False。
mystr1 = 'aaa12345'
mystr2 = '12345-'# 结果:True
print(mystr1.isalnum())# 结果:False
print(mystr2.isalnum())
  • isspace():如果字符串中只包含空白,则返回 True,否则返回 False。
mystr1 = '1 2 3 4 5'
mystr2 = '     '# 结果:False
print(mystr1.isspace())# 结果:True
print(mystr2.isspace())

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

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

相关文章

氛围编程陷阱:为什么AI生成代码正在制造大量伪开发者

这是一篇再国外讨论非常火的帖子,我觉得不错所以把它翻译成了中文。 大语言模型和ai只能提的发展衍生出了一个东西叫"vibe coding"(氛围编程)——用自然语言描述需求,让AI生成代码,看起来不用写代码就能…

记一次的AI Agent开发的思维误区

写在前面 无论博客还是公号,我都很久不写东西了,去年、今年两年发生了太多的事,我没法梳理,也不想梳理了,本能的想着用时间来冲淡一切的一切,但是现实就是无法如愿。 自然文章、博客也就停滞了,相应的阅读量和粉…

3_Linux 文件管理三部曲:操作、结构与权限控制

Linux 文件管理三部曲:操作、结构与权限控制 对 Linux 新手来说,“管好文件” 是入门的核心 —— 既要会复制、查找文件,也要懂文件存放在哪,更要清楚 “谁能操作文件”。今天这篇文章,带你打通 “文件管理基础→…

2_终端入门:从 “不敢点” 到 “离不开” 的 5 个核心命令(附高频命令补充)

终端入门:从 “不敢点” 到 “离不开” 的 5 个核心命令(附高频命令补充) 很多新手看到 Linux 终端的 “黑窗口” 就发怵 —— 担心输错命令搞坏系统,害怕记不住复杂语法。但其实终端是 Linux 的 “效率神器”:学…

1_从 0 到 1 入门 Linux:认知、选型、安装

从 0 到 1 入门 Linux:认知、选型、安装 不少新手刚听说 Linux 时,总觉得它是 “程序员专属工具”—— 满屏命令行、操作复杂、离日常使用很远。但 2024 年 Linux 桌面份额已突破 5%,从办公电脑到云服务器,它早已融…

02020509 EF Core高级09-生成静态表达式树、动态创建表达式树、简化表达式树

02020509 EF Core高级09-生成静态表达式树、动态创建表达式树、简化表达式树 1. 更简单的创建表达式树(视频3-44) 1.1 动态创建表达式树 1、通过代码来动态构造表达式树要求开发者精通表达式树的结构,甚至还需要了解…

决胜职场:以准备为刃,破局而出

决胜职场:以准备为刃,破局而出 在当代职场的激烈角逐中,"准备"二字,实乃破局之钥,决胜之要。它不仅是方法论,更是一种生存哲学——当他人还在迷雾中摸索时,准备充分者早已拨云见日,稳操胜券。 一、准…

python的流程控制

一、判断语句 1.1 if语句 if语句是最常用的流程控制语句,通常由条件加子句(代码块)组成,条件求值为True时执行子句,如果条件为False时跳过。 if语句包含以下部分:点击查看代码 if 关键字 条件(表达式) 冒号: …

卖萌求 AccessKey

总之是将 luogu 的 uid 和 luogu.me 的 AccessKey luogu 私信发给我。 绘制冬日绘版用。本文来自博客园,作者:xrlong,转载请注明原文链接:https://www.cnblogs.com/xrlong/p/19137022 版权声明:本作品采用 「署名…

详细介绍:【Linux】线程控制

详细介绍:【Linux】线程控制pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

初识pytorch:关于数据展示的组件tensorboard

目录tensorboardtensorboard的介绍tensorboard的使用流程tensorboard的使用技巧关于tensorboard的总结 tensorboard tensorboard的介绍 tensorboard的作用就是让训练的过程可视化,例如大家伙在写代码的时候会在每一轮…

win11家庭版升级到专业版教程,专业版改为家庭版教程

win11家庭版升级到专业版教程 写这篇文章的原因 因为工作原因,一直在外地出差用的是公司办公电脑,节后放假后就开始公司远程办公了,倒也没什么问题,突然有一天下班在家里,21点后叫我加班(程序都懂的,加班是常态…

计网思维导图总结

计网思维导图总结 内容较多,浏览器建议使用大纲查看。 processon

如何下载不同版本的像素地牢

根据实际需要,像素地牢的制作者们在开发时,会基于不同的破碎像素地牢(SPD)版本进行开发。 本文主要目的在于记录:“如何GITHUB上找到不同版本的破碎像素地牢” 1、在GITHUB上搜索shattered-pixel-dungeon 2、进入…

一生一芯学习:多道程序 yield-os.c

一生一芯学习:多道程序 yield-os.c随着处理器主频的越来越高,每次读写一次磁盘要耗费很多个时钟周期来等待磁盘操作的完成,与其傻傻等待,在这等待的过程中我们可以做更多有意义的事情,如当第一个程序需要等待输入…

速通ACM省铜第十六天 赋源码(Sigma Cubes和Find Permutation 2和Rotate and Sum Query) - 教程

速通ACM省铜第十六天 赋源码(Sigma Cubes和Find Permutation 2和Rotate and Sum Query) - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

Linux操作系统扫盲汇总

linux 基本概念概括VFS 树链接:虚拟文件系统就是一个树,树的根部就是 / , 树上不同的节点,都会指向不同的物理地址(文件系统的目录树的不同节点其实是来自不同的分区),可以是具体的文件系统,或者网络节点,或者…

ABC round 427

ABC round 427T3注意到 \(n\) 非常小,那么枚举染色方式然后判断二分图即可。 #include <bits/stdc++.h> #define int long long #define rep(i, a, b) for(int i = a; i <= b; ++i) #define rep_(i, a, b) f…

卸载驱动模块,内核崩溃排查调试记录

问题 在学习串口子系统,在卸载串口模块的时候,引起内核崩溃。具体的崩溃日志如下: /mnt/uartdeep # rmmod virtual_uart.ko [ 23.208560] /home/book/bsp/mcu/uartdeep/virtual_uart_ok/virtual_uart.c virtual_u…

详细介绍:游戏引擎以及游戏开发

详细介绍:游戏引擎以及游戏开发pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…