python--字符串切片和常用的写法

news2024/11/14 19:57:14

python--字符串切片和常用的写法

  • 正序切片
    • 格式
    • 注意点
  • 倒序切片
    • 格式
  • 字符串运算
    • 字符串转义
    • 字符串常用方法
      • 大小写相关的
      • 统计相关的
      • 拆分&替换
      • 字符串连接(面试)
      • 字符串格式化

正序切片

格式

str1[起始索引:结束索引]左闭右开(取左边下标的值,不取右边下表的值)
str1[起始索引:结束索引:步长]

注意点

1、默认起始位置从0开始,步长是1
2、左闭右开(取起始索引的值,不取结束索引的值)
3、如果结束索引不写,默认等于字符串的长度
4、空格也占用索引(一个空格占一位)
5、起始索引绝必须要小于结束索引
6、倒序下次课将,先把正序搞定

倒序切片

格式

str1[起始索引:结束索引:步长]

字符串运算

字符串转义

1、\n:表示换行符,通常用于在字符串中表示文本的不同行。
2、\:是转义字符,它用于将特殊字符转义为普通字符,或者将一个长的代码行分成多行书写
3、r:表示原始字符串的前缀,通常用于在字符串中包含反斜杠等特殊字符时,避免被当做转义字符处理。例如,r"\n" 表示字符串"\n",而不是换行符。
在这里插入图片描述

字符串常用方法

大小写相关的

str_01.upper():全部大写
str_02.lower():全部小写
#了解
str_03.capitalize():首字母大写
str_04.title():每个单词首字母大写
str_05.swapcase():大小写互换

统计相关的

  • count():统计字符在字符串中出现的次数

sub:需要统计的字符
start:统计范围的开始索引值
end:统计范围的结束索引值
返回:sub在字符串中出现的次数

str_1 = 'hello python'
times = str_1.count('h')
print(times)
# 代码格式化快捷键:ctrl + alt + l
# 看源码:ctrl + 点击一下
    def count(self, sub, start=None, end=None): 
        """
        S.count(sub[, start[, end]]) -> int
        Return the number of non-overlapping occurrences of substring sub in
        string S[start:end].  Optional arguments start and end are
        interpreted as in slice notation.
        """
        return 0
  • find():查找字符在字符串中的索引位置

sub:需要统计的字符
start:统计范围的开始索引值
end:统计范围的结束索引值
默认只查询第一次找到的字符,然后返回索引值

str_1 = 'hello python'
index = str_1.find('h')
print(index)
# 代码格式化快捷键:ctrl + alt + l
# 看源码:ctrl + 点击一下
    def find(self, sub, start=None, end=None): 
    # real signature unknown; restored from __doc__
        """
        S.find(sub[, start[, end]]) -> int
        
        Return the lowest index in S where substring sub is found,
        such that sub is contained within S[start:end].  Optional
        arguments start and end are interpreted as in slice notation.
        
        Return -1 on failure.
        """
        return 0

拆分&替换

拆分(面试用):
split():字符串拆分,默认是通过空格键拆分,可以自己指定拆分字符,拆分的过程会讲指定的拆分字符丢弃
maxsplit参数作用控制拆分次数,默认(-1)不限制拆分次数,负数表示不限制拆分次数,如果是0就不进行拆分

# 不加maxsplit参数,默认不限制拆分次数
str_1 = 'hellopython'
new_str=str_1.split('o')
print(new_str)

在这里插入图片描述

# 不加maxsplit参数,默认不限制拆分次数
str_1 = 'hellopython'
new_str=str_1.split('o',1)
print(new_str)

在这里插入图片描述

替换:
replace()
第一个参数:需要替换的字符(你要换掉谁)
第二个参数:替换后的字符(你要换成谁)
第三个参数:替换次数(你要替换多少次)
可以替换任意字符包括空格键
返回:替换后的新字符串

str_1 = 'hello python'
new_str=str_1.replace('o','8',1)
#new_str=str_1.replace('o','8')
print(new_str)

在这里插入图片描述

str_1 = 'hello python'
#new_str=str_1.replace('o','8',1)
new_str=str_1.replace('o','8')
print(new_str)

在这里插入图片描述

字符串连接(面试)

new_str=''.join(str_1)
通过制定的字符串(
)连接str_1

# h-e-l-l-o-p-y-t-h-o-n  面试题
str_1 = 'hellopython'
new_str='*'.join(str_1)
print(new_str)

在这里插入图片描述

字符串格式化

1、%
%s:字符串占位符,如果传的不是字符串,会发生强制类型转换
%d:int类型占位符
2、{}

# %s:占位符  s:str
test_str='this is test %s' %('py39')
print(test_str,type(test_str))

在这里插入图片描述

# % d  int类型占位符
# 参数化
test_str='this is a number %d' %(100)
print(test_str)

在这里插入图片描述

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

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

相关文章

python 调用redis创建查询key

部署redis apiVersion: apps/v1 # 描述api版本,默认都用这个 kind: Deployment # 资源类型,可以配置为pod,deployment,service,statefulset等等 metadata: # deployment相关的元数据,用于描述deployment的…

2024哥本哈根major跟以往有什么区别?

2024哥本哈根major跟以往有什么区别? 时隔将近300天,CS2的第一场major终于即将到来。在预选赛中,来自世界各地成千上万支队伍经历过一层又一层的厮杀搏斗,最终遴选出这24支最顶尖的战队,将于3月17日齐聚于哥本哈根的皇…

C#_Array数组_多维数组_交错数组

文章目录 C#数组类型分析多维数组交错数组数组的属性和方法上期习题答案本期习题 C#数组 数组是一个用来存储相同类型数据的、固定大小的、具有连续内存位置的顺序集合。数组中的每个元素都对应一个索引值,索引从 0 开始依次递增,我们可以通过索引来访问…

html5的css使用display: flex进行div居中的坑!

最近做项目的时候,有个需求,一个高度宽度不确定的Div在另一个Div内上下左右居中。 然后以前上下居中用的都是很繁琐的,就打算去百度搜索一个更优秀的方法。 百度AI自己给我一个例子: /* div在容器里居中显示,设置外容…

如何零基础入门Prometheus

本公众号的精品教程《玩转Prometheus监控》是一套零基础的入门教程,基于多年实战经验编写而成,内容完整覆盖了产品的核心技术要点,适合想入门和进阶技术的朋友学习。 整个系列总共24篇课程,由基础知识开始,逐步进阶学…

IDEA编写各种WordCount运行

目录 一、编写WordCount(Spark_scala)提交到spark高可用集群 1.项目结构 2.导入依赖 3.编写scala版的WordCount 4.maven打包 5.运行jar包 ​6.查询hdfs的输出结果 二、本地编写WordCount(Spark_scala)读取本地文件 1.项目结构 2.编写scala版的WordCount 3.编辑Edit …

mupdf渲染过程(一):颜色

mupdf除了解析PDF功能之外,还有一个强大的功能就是渲染文字和图像,本文介绍mupdf渲染过程中涉及到的颜色问题:包括颜色空间,颜色转换,lcms的使用。 1.初始化 mupdf初始化第一步是实例化fz_context *ctx,fz…

2W10-ASEMI适配器专用2W10

编辑:ll 2W10-ASEMI适配器专用2W10 型号:2W10 品牌:ASEMI 封装:WOB-4 最大重复峰值反向电压:1000V 最大正向平均整流电流(Vdss):2A 功率(Pd):中小功率 芯片个数:4 引脚数量…

钡铼技术有限公司R40路由器工业4G让养殖环境监控更高效

钡铼技术有限公司的R40路由器是一款专为养殖环境监控而设计的工业级4G路由器。该路由器的出现极大地提高了养殖行业的监控效率,为养殖场主和管理者提供了更可靠、高效的解决方案。本文将从功能特点、优势以及应用案例等方面介绍钡铼技术有限公司的R40路由器在养殖环…

【SpringBoot】自定义工具类实现Excel数据新建表存入MySQL数据库

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录 …

hololens2发布unity设置

生成vs工程再向hololens发布时, Architecture选X64或ARM64都可以成功发布

python-0002-linux安装pycharm

下载软件包 下载地址:https://download.csdn.net/download/qq_41833259/88944791 安装 # 解压 tar -zxvf 你的软件包 # 进入软件解压后的路径,如解压到了/home/soft/pycharm cd /home/soft/pycharm cd bin # 执行启动命令 sh pycharm.sh # 等待软件启…

京东云主机+京美建站SaaS版

京美建站SaaS版 京美建站搭建企业网站、小程序、3000精美模板 链接:https://daili.jd.com/s?linkNo57UBX34BZMWGNFYTOCPVUE7SN36CCIPKLTFLPCUCPYBKSYYBIPS2BJ57GP7RACLDHU66X526ZOULMIXL2VN7DT7IHU 京东云主机,安全稳定,性能强劲,新客下单…

VMware安装Ubuntu 18.04.2

下载Ubuntu映像 下载地址:http://old-releases.ubuntu.com/releases/18.04/ 下载名称: ubuntu-18.04.2-desktop-amd64.iso 清华镜像站:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/ 阿里云镜像站:https://mirrors.ali…

ASP.NET区域检验云LIS平台源码 标本全生命周期管理

目录 一、云LIS系统功能亮点 二、收费项目管理 三、检验项目管理 系统功能 云LIS系统源码是一款全面的实验室信息管理系统源码,其主要功能包括样本管理、检测项目管理、质控管理、报告管理、数据分析、两癌筛查等多个方面。具有独立的配套SaaS模式运维管理系统&…

科研学习|论文解读——词汇量及其对主题表示的影响 (IPM, 2017)

原文标题 Vocabulary size and its effect on topic representation 摘要 这项研究调查了如何通过选择性地从被建模的文本语料库的词汇中删除术语来减少主题模型训练的计算开销。我们使用三个数据集,比较了删除单独出现的术语、前0.5%、1%和 5% 最频繁出现的术语以及…

Gitee配置SSH登录

一、背景 新入手的电脑,需要对Gitee上存放的项目进行更改上传,发现上传不了需要登录,便采用SSH密钥进行登录,防止远程管理工程中的信息泄露 二、前提 电脑已下载Git Bash工具,在项目下点击鼠标右键,进入…

多线程(线程池)

线程池 池的概念意味着可以复用, 减少创建, 销毁线程的消耗 即事先把需要使用的线程创建好, 放到 “池” 中, 需要的时候从 “池” 里取, 用完再放回 池里取 这样全程只创建和销毁线程一次(之说是一次哦, 没说一次创建和销毁多少个)即可 标准库线程池的使用 public class Main…

【解读】区块链和分布式记账技术标准体系建设指南

大家好,这里是苏泽。一个从业Java后端的区块链技术爱好者。 今天带大家来解读这份三部门印发的行业建设指南《区块链和分布式记账技术标准体系建设指南》 原文件可查看P020240112840724196854.pdf (www.gov.cn) 以下是个人解读,如有纰漏请指正&#xff…

学习Android的第二十八天

目录 Android Service (服务) 线程 Service (服务) Service 相关方法 Android 非绑定 Service startService() 启动 Service 验证 startService() 启动 Service 的调用顺序 Android 绑定 Service bindService() 启动 Service 验证 BindService 启动 Service 的顺序 …