Python容器 之 字符串--字符串的常用操作方法

1.字符串查找方法 find()

说明:被查找字符是否存在于当前字符串中。

格式:字符串.find(被查找字符)

结果:如果存在则返回第一次出现 被查找字符位置的下标

           如果不存在则返回 -1

需求:
1. 现有字符串数据: '我是中国人'
2. 请设计程序, 实现判断"中国人"和"外国人"是否存在于数据中
3. 要求如果数据存在, 则输出数据所在位置

# 1. 现有字符串数据: '我是中国人'
# 2. 请设计程序, 实现判断"中国人"和"外国人"是否存在于数据中
# 3. 要求如果数据存在, 则输出数据所在位置
my_str = "我是中国人"
# sub_str = "中国人"
sub_str = "外国人"
result = my_str.find(sub_str)
if result == -1:print(f'{sub_str}不存在')
else:print(f'{sub_str}存在,下标的位置为{result}')

       


 2.字符串的替换 replace()

说明:将字符串中的 old 字符串 替换为 new 字符串

格式:字符串.replace(old, new, count)

                - old字符串,被替换的字符串

                - new 字符串,要替换为的字符串

                - count 一般不写,表示全部替换;可以指定替换的次数

结果:会返回一个替换后完整的字符串

注意: 字符串属于不可变数据类型, 所以修改并不会影响原来的内容,原字符串不会改变的

my_str = 'good good study'# 需求1:将 good 变为 GOOD
my_str1 = my_str.replace('good', 'GOOD')
print('my_str :', my_str)
print('my_str1:', my_str1)# 需求2:将第一个 good 替换为 Good
my_str2 = my_str.replace('good', 'Good', 1)
print('my_str2:', my_str2)# 需求;将第二个 good 替换为 Good
# 方法:先整体替换为 Good, 再将替换后的 第一个Good 替换为 good
my_str3 = my_str.replace('good', 'Good').replace('Good', 'good', 1)
print('my_str3:', my_str3)


3.字符串拆分 split()  

说明:将字符串按照指定的字符串 sep 进行分隔

格式:字符串.split(sep)

             - sep , 按照 sep 分隔, 可以不写, 默认按照空白字符(空格 \t \n)分隔

结果:返回列表,列表中的每个数据就是分隔后的字符串

str1 = 'hello Python\tand itcast and\nitheima'# 1. 默认 按照空白字符分隔
list1 = str1.split()
print(list1)  # ['hello', 'Python', 'and', 'itcast', 'and', 'itheima']# 2. 按照 空格分隔
list2 = str1.split(' ')
print(list2)  # ['hello', 'Python\tand', 'itcast', 'and\nitheima']# 3. 按照 and 分隔
list3 = str1.split('and')
print(list3)  # ['hello Python\t', ' itcast ', '\nitheima']


4.字符串的连接 join()

作用:字符串插入到列表相邻的两个数据之间,组成新的字符串

格式:字符串.join(容器)     # 容器一般是列表 ,

注意:列表中的数据 必须都是字符串才可以

list1 = ['hello', 'Python', 'and', 'itcast', 'and', 'itheima']# 将 列表中数据使用 空格 组成新的字符串
str1 = ' '.join(list1)
print(str1)  # hello Python and itcast and itheima# 使用 逗号 连接
str2 = ','.join(list1)
print(str2)  # hello,Python,and,itcast,and,itheima# 使用 _*_ 连接
str3 = '_*_'.join(list1)
print(str3)  # hello_*_Python_*_and_*_itcast_*_and_*_itheima


扩展:

\t:代表一个 水平制表符,通常显示为四个空格的宽度,这相当于在文档中使用Tab键

\n:表示换行,相当于按一个 回车键

\n\t:表示换行的同时空4个字符


未完待续。。。

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

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

相关文章

Gavin大咖亲自授课:将大语言模型与直接偏好优化对齐

Gavin大咖亲自授课:将大语言模型与直接偏好优化对齐 Align LLMs with Direct Preference Optimization 直接偏好优化( Direct Preference Optimization)这绝对是天才性的算法。你会看到数学的巨大力量和巨大价值,你一定会很兴奋和…

【计算机网络期末复习】例题汇总(一)

重点例题选择填空简答题与传输媒体的接口的特性重点 计算机网络的性能指标计算机网络体系结构例题 选择

Linux高并发服务器开发(八)Socket和TCP

文章目录 1 IPV4套接字结构体2 TCP客户端函数 3 TCP服务器流程函数代码粘包 4 三次握手5 四次挥手6 滑动窗口 1 IPV4套接字结构体 2 TCP客户端 特点:出错重传 每次发送数据对方都会回ACK,可靠 tcp是打电话的模型,建立连接 使用连接 关闭连接…

泛微E9开发 根据故障来源新增明细行,并且初始化错误类型

根据故障来源新增明细行,并且初始化错误类型 1、需求说明2、实现方法3、扩展知识点3.1 批量修改字段值或显示属性3.1.1 格式3.1.2 参数3.1.3 演示 3.2 根据字段ID获取字段信息3.2.1 格式3.2.2 参数3.2.3 演示 1、需求说明 用户对出现故障的机器或设备进行判断问题判…

C++进阶 | [4.3] 红黑树

摘要:什么是红黑树,模拟实现红黑树 红黑树 ,是一种 二叉搜索树 ,但 在每个结点上增加一个存储位表示结点的颜色,可以是 Red 或 Black 。 通过对 任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树…

分享一个在 WinForm 桌面程序中使用进度条展示报表处理进度的例子,提升用户体验

前言 在有些比较消耗时间的业务场景中,比如生成报表等,如果没有在操作的过程中向用户反馈操作进度,会让用户以为程序 “死” 掉了,用户体验非常不好。 WinForm 桌面程序项目与 Console 项目不一样,如果 Console 项目…

【C++】红黑树及其实现

目录 一、红黑树的定义1.为什么提出红黑树?2.红黑树的概念3.红黑树的性质 二、红黑树的实现1.红黑树的结构2.红黑树的插入2.1 uncle为红色2.2 uncle为黑色,且是grandfather的右孩子2.3 uncle为黑色,且是grandfather的左孩子 3.红黑树的验证 4…

虚拟机网络配置(静态网络)

解决问题:VMware中创建centOS虚拟机后使用ifconfig没有ip地址,但我想在主机(Windows)系统下使用shell连接虚拟机从而方便后续交互。 VMware中编辑->虚拟网络编辑器 (注意需要管理员身份不然会无法修改)…

PV操作经典例题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、前言🚀🚀🚀二、正文☀️☀️☀️三、总结🍓🍓🍓 一、前言🚀🚀&am…

万字长文|下一代系统内存数据加速接口SDXI解读

本文内容分为5章节,总计10535字,内容较多,建议先收藏! 1.SDXI技术产生的背景 2.SDXI相比DMA的优势 3.SDXI实现原理与架构 3.1 描述符环原理解读 3.2 上下文管理介绍 3.3 AKey与RKey解读 3.4 错误日志和状态管理 3.5 跨Function访…

ctfshow web入门 sqli-libs web552--web560

web552 宽字节注入 嗯原理我就不讲了,还是有点复杂后面有时间讲讲 总而言之就是用汉字把\的转义作用抵消了然后正常注入即可 ?id-1包 union select 1,2,3--?id-1包union select 1,(select group_concat(table_name) from information_schema.tables where tab…

事过无悔:人生中的释怀之道

在纷繁复杂的人生旅途中,我们常常会面临各种选择。这些选择,如同指引我们前行的路标,有时让我们欣喜,有时让我们遗憾。然而,我渐渐发现,事过无悔,是我们在面对这些选择时最顶级的释怀之道。 首…

MySQL 常见存储引擎详解(一)

本篇主要介绍MySQL中常见的存储引擎。 目录 一、InnoDB引擎 简介 特性 最佳实践 创建InnoDB 存储文件 二、MyISAM存储引擎 简介 特性 创建MyISAM表 存储文件 存储格式 静态格式 动态格式 压缩格式 三、MEMORY存储引擎 简介 特点 创建MEMORY表 存储文件 内…

节点级、系统级、实车级的LIN测试主要差异点

文章目录 前言一、节点级1.前期准备2.测试执行 二、系统级1.前期准备2.测试执行 三、实车级1.前期准备2.测试执行 总结 前言 LIN协议一致性测试主要指的是物理层(电阻、电容、电压、地偏移、显隐性电平、频率占空比、位时间等)、数据链路层(…

window用户层文件系统fuse(wdm驱动)

dokany https://github.com/dokan-dev/dokany.git 需要安装wdk,2022可以直接通过windows driver扩展安装 项目使用nuget添加wdk依赖 Version of Uwp Package 10.0.26100.0 does not match TargetPlatformVersion 10.0.22621.0. windows sdk版本填写正确的版本号…

算法实验2.2、2.3

2.2主要内容 比较快速排序&#xff0c;归并排序以及堆排序算法的时间效率。了解影响算法执行时间的 主要因素以及如何降低算法的执行时间。 #include<iostream> using namespace std; #include<stdio.h> #include<malloc.h> #include<stdlib.h> #inc…

【论文阅读】-- 研究时间序列可视化,提升用户体验

Investigating Time Series Visualisations to Improve the User Experience 摘要1 引言2 相关工作互动技巧视觉编码坐标系 3 用户研究时间序列可视化互动技巧任务实验设计 4 结果交互技术的效果视觉编码的影响坐标系的影响 5 讨论交互技术的效果视觉编码的影响坐标系的影响 6 …

芒果YOLOv10改进122:注意力机制系列:最新结合即插即用CA(Coordinate attention) 注意力机制,CVPR 顶会助力分类检测涨点!

论文所提的Coordinate注意力很简单,可以灵活地插入到经典的移动网络中,而且几乎没有计算开销。大量实验表明,Coordinate注意力不仅有益于ImageNet分类,而且更有趣的是,它在下游任务(如目标检测和语义分割)中表现也很好。本文结合目标检测任务应用 应专栏读者的要求,写一…

cube-studio开源一站式机器学习平台,在线ide,jupyter,vscode,matlab,rstudio,ssh远程连接,tensorboard

全栈工程师开发手册 &#xff08;作者&#xff1a;栾鹏&#xff09; 一站式云原生机器学习平台 前言 开源地址&#xff1a;https://github.com/tencentmusic/cube-studio cube studio 腾讯开源的国内最热门的一站式机器学习mlops/大模型训练平台&#xff0c;支持多租户&…

【Linux】:环境变量

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关Linux环境变量的相关知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门…