尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

探索Python中的循环与字符串操作

探索Python中的循环与字符串操作 目录1.引言2.使用 while 循环遍历字符串3.代码的改进4.相同字母的计数5.切片6.进阶切片1.引言我们讨论过Python中的排序问题以及单词长度的查询问题现在让我们来尝试运用循环形成一个数字序列2.使用while循环遍历字符串fruit banana x 0 while x len(fruit): letter fruit[x] print(letter) x 1 #same as x x 1 #b #a #n #a #n #a在这段代码中我们运用了while循环来逐一遍历字符串fruit中的每个字符。首先定义变量x 0用于表示索引位置。while循环的条件是x len(fruit)即当x小于字符串长度时循环继续。每次循环程序从字符串中提取第x个字符并打印然后将x自增 1即x 1。最终整个字符串的每个字符都会按顺序输出直到遍历完成这样我们便完成了对单词banana的浏览遍历3.代码的改进上述的方法是运用不定循环现在我们可以用定循环来让代码更加的便捷fruit banana for letter in fruit: print(letter) #b #a #n #a #n #a让我们回顾一下for和in运用for和in我们能让变量letter连续的接受b、a、n、a、n、a同时代表着循环会进行6次这样我们将6行代码缩短为3行避免了我们创建诸如上述x一样的变量或是其他令人感到麻烦的东西不过结果依然是一样的4.相同字母的计数‘banana’中有很多个‘a’对于对这个单词较为陌生或者是输入法没有拼写纠正的人来说弄清楚一共由多少个a还是蛮重要的word banana count 0 for letter in word: if letter a: count 1 print(count) #3在这个循环中代码逢a加1一共有3个a所以count将会由初始值0111得到结果35.切片我们讨论过了单词中每个字母在Python中的位置也知道如何将位置表达出来有的人可能会好奇单词的特定部分如何表示s hello world print(s[0:4]) print(s[3:6]) print(s[6:20]) #hell #lo #world首先我们先将字符串编号h e l l o w o r l d 0 1 2 3 4 5 6 7 8 9 10第二行代码是将从0开始到4停止且不包含的字符print出来第三行是3-6空格也算一个字符最后一行是6-20但我们的编号只到10所以我们到10停止在Python中超过边界不是很严重的问题但是人与人之间需要有边界感6.进阶切片字符串切片的语法是s[start:stop:step]其中start是起始位置stop是终止位置直到但不包括step是步长表示每次从字符串中跳过几个字符s hello world print(s[::2]) print(s[1::2]) print(s[::-1]) print(s[1::-2]) #hlowrd #el ol #dlrow olleh #ea.[::2]表示从头到尾每隔 2 个字符取一个字符即s的字符按0、2、4、6、8、10 依次取出b.[1::2]表示从索引 1 开始到字符串末尾每隔 2 个字符取一个字符按 1、3、5、7、9 依次取出c.[::-1]表示从尾到头步长为 -1表示反向遍历整个字符串d.[1::-2]表示从索引 1 开始步长为 -2反向取字符从 1 开始按 1、-1即从头到尾倒数第一个字符取出字符
返回列表