ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python编程基础:第七节 字符串切片String Slicing

2021-07-12 19:59:52  阅读:236  来源: 互联网

标签:切片 slice String Python Slicing print 步长 字符串 name


第七节 字符串切片String Slicing

前言

我们有时候需要对一个字符串进行切片,取其一部分作为新的字符串进行处理。例如从姓名中分别提取姓和名,从网站域名中提取网站名称等等。

实践

首先我们定义一个变量,并将其赋值为Tom Efficion:

name = "Tom Efficion"

然后我们通过字符串切片的方式分别提取其姓和名:

first_name = name[:3]
last_name = name[4:]
print(first_name)
print(last_name)
>>> Tom
>>> Efficion

我们先来分析第一个表达式name[:3]。字符串切片表达式一般表示为[start:stop:step],也即起始位置,结束位置,步长,默认情况下start=0,stop=-1,step=1,需要注意的是这里的三个参数均可省略,若不指定该参数,Python就会使用默认值,故而name[:3]=name[0:3:1],也即获取name字符串从0位置到3位置,步长为1的所有内容作为新的字符串赋值给first_name。在字符串切片过程中,新的字符串包含start位置但是不包含stop位置,也即数学里的半闭区间(左闭右开)。
那么,我如果想获取偶数位置的字母组成新的字符串该怎么办呢?我们指定步长为2即可:

funky_name = name[::2]
print(funky_name)
>>> TmEfco

有时候我们需要颠倒字符串中每个字母的位置,此时需要指定步长为-1:

reversed_name = name[::-1]
print(reversed_name)
>>> noiciffE moT

可能初学者不理解这里-1的意思,其实Python给每个字符串中每个元素是有两个位置编号的,一个是从左到右的0,1,2,…,一个是从右到左的-1,-2,-3,…那么若步长为-1,Python就会从右到左依次取每一个元素作为新的字符串中的元素,也就实现了逆序。
除此之外,我们还可以使用函数slice()实现字符串切片,例如我们有两个域名,需要获取其网站名称:

website1 = "http://google.com"
website2 = "http://wikipedia.com"
slice = slice(7,-4)
print(website1[slice])
print(website2[slice])
>>> google
>>> wikipedia

可见slice()函数与直接对字符串切片运算不同的是,其三部分不是用:隔开,而是用,隔开,除此之外,slice()函数需要先实例化切片方式再加以使用,我们在实际编程过程中更推荐使用[start:stop:step]这种字符串切片方式。
以上便是字符串切片的全部内容,感谢大家的收藏、点赞、评论。我们下一节将介绍判断语句(If Statements),敬请期待~

标签:切片,slice,String,Python,Slicing,print,步长,字符串,name
来源: https://blog.csdn.net/wzy628810/article/details/118682432

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有