当前位置: 首页 > 后端技术 > Python

Python钓鱼学习笔记

时间:2023-03-26 15:42:24 Python

我是按照廖雪峰dalao的教程学习python的,现在学习了高级特性->切片。本课有一个教程,使用切片操作实现一个trim()函数,去除字符串首尾的空格。注意不要调用str的strip()方法:想了半天,终于笨办法写了一个模板l=''if(l):x=0y=1while(l[x:y]==''):x=x+1y=y+1print('清除左边空格后',l[x:])print('左边不是空格的序号',x)m=-1n=-2if(l[m]==''):while(l[n:m]==''):m=m-1n=n-1print('after清除左右空格',l[:m],9)print('右边不是空格的序号',m)print(l[m:]=='',l[m:],9)print(l[x:m],9)else:print(l[x:],9)else:print('isempty')修改l为'hello','hello','hello','hello'、'helloworld'、'helloworldwithyou'等可以正常输出左右空格,并保留单词之间的空格。代码还是比较简单的,不过至少问题解决了,待熟悉python语言后再回来优化------------分割线---------8.1刚刚了解到python的list生成是在循环的时候直接创建一个list,比如创建一个包含1-10的数组L=list(range(1,11))创建一个x*x的数组1-10L=[x*xforxinrange(11)]创建一个x*x数组L=[x*xforxinrange(10)ifx%2==0]只包含偶数1-10,甚至可以应用循环L=[m+nformin'abc'fornin'xyz']output['ax','ay','az','bx','by','bz','cx','cy','cz']将列表中的所有字符串更改为小写L=['Hello','Prient','HesitateWillGiveNothing']print(s.lower()forsinL)但是如果列表中包含非字符串的项目,比如数字,输出会报错isinstance函数可以判断一个变量是否是字符串L='Hello'isinstance(L,str)输出True。Exercise请修改列表生成,通过添加if语句来确保列表生成能够正确执行:L1=['Hello','World',18,'Apple','None']一开始,我使用了一个很基础的方法L2=[]forxinL1:if(isinstance(x,str)):L2.append(x.lower())print(L2)后来看了评论,发现有更简单的方法L2=[x.lower()forxinL1ifisinstance(x,str)]一句话搞定