博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.20学习内容,字符串与列表
阅读量:5953 次
发布时间:2019-06-19

本文共 4838 字,大约阅读时间需要 16 分钟。

一、字符串类型:

作用:名字,性别,国籍,地址等描述信息

定义:在单引号\双引号\三引号内,由一串字符组成。

需要掌握的方法:

1、strip  去除指定字符 lstrip     去除左边指定字符 rstrip     去除右边指定字符 print('**sss****'.lstrip('*')) print('**sss****'.rstrip('*')) 2、lower   所有字符全部小写 upper       所有字符全部大写 print('Egon'.lower()) print('egon'.upper()) 3、startswith 检查是否以某字符开头 endswith        检查是否以某字符结尾 print('alex is sb'.startswith('alex')) print('alex is sb'.endswith('sb')) 4、format的三种玩法   关键字参数可以代替格式化里的%s 第一种:{} s1='my name is %s my age is %s' %('egon',18) s2='my name is {} my age is {}'.format('egon',18) s2='my name is {} my age is {}'.format('egon',18,19) 第二种 s2='my name is {0} my age is {1} {1} {1} {0} {1}'.format('egon',18,19) print(s2) 第三种 s2='my name is {name} my age is {age}'.format(age=18,name='egon') print(s2) 5、split     以指定字符字符切割为列表 rsplit      从右边以指定字符切割 cmd='get|C:\a.txt|3333' print(cmd.split('|',1)) print(cmd.rsplit('|',1)) 6、join      使用指定字符将列表内的字符连接成一个字符串 cmd='egon:123:admin:rwx' l=cmd.split(':') res=''.join(l) res=':'.join(l) 注意:':'.join([1,2,3]) # join方法传入的列表必须只包含str类型的元素 7、replace       替换:将指定字符替换成另一个字符 msg='wupeiqi say my name is wupeiqi' print(msg.replace('wupeiqi','SB')) print(msg.replace('wupeiqi','SB',1)) 8、isdigit   判断是否为数字类型 print('10'.isdigit()) 示例: age=10 inp=input('>>: ').strip() if inp.isdigit():     inp=int(inp)     if inp > age:         print('too big') else:     print('输入数据非法')
其他操作(了解即可) 1、find      查询指定字符 rfind       从右查询指定咨询 index       检测字符串中是否包含子字符串 str rindex      从右检测字符串中是否包含子字符串 str count       用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。 msg='my egon hegon 123' print(msg.find('sb')) print(msg.find('egon')) print(msg.find('egon',8,20)) print(msg.rfind('egon')) print(msg.index('sb')) print(msg.index('egon')) 2、center   返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。 ljust      返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。 rjust      返回一个原字符串右对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。 zfill      返回指定长度的字符串,原字符串右对齐,前面填充0 print('========================egon=======================') print('egon'.center(50,'*')) print('egon'.ljust(50,'*')) print('egon'.rjust(50,'*')) print('egon'.zfill(50)) 3、expandtabs    将字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。 msg='abc\tdef' print(msg.expandtabs(3)) 4、captalize     将字符串的第一个字母变成大写,其他字母变小写 swapcase        将字符串的大小写字母进行转换 title()         返回"标题化"的字符串,就是说所有单词都是以大写开始 print('abeCdEF'.capitalize()) print('abeCdEF'.swapcase()) print('my name is egon'.title()) 5、is数字系列    总结最常用的是  .isdigit()  就足以满足日常需求,如果有关钱的使用 .isnumeric() 命令。 num1=b'4' #bytes num2=u'4' #unicode,python3中无需加u就是unicode num3=u'肆' #中文数字 num4=u'Ⅳ' #罗马数字 isdigit():bytes,unicode的阿拉伯数字 print(num1.isdigit()) print(num2.isdigit()) print(num3.isdigit()) print(num4.isdigit()) isdecimal():unicode的阿拉伯数字 print(num2.isdecimal()) print(num3.isdecimal()) print(num4.isdecimal()) isnumberic:unicode的阿拉伯数字\中文数字\罗马数字 print(num2.isnumeric()) print(num3.isnumeric()) print(num4.isnumeric()) 6、is其他 print('asdfasdfasdfaAsfd'.isalpha()) #字符全由字母组成 print('asdf'.isalnum()) #字符由字母或数字组成 print('I Am Egon'.isnumeric()) print('    '.isspace()) print('print'.isidentifier()) 总结字符串类型: 1 存一个值     只能存一个值 2 有序or无序     有序 3 可变or不可变     !!!不可变:值变,id就变。不可变==可hash 列表类型 一:基本使用 1 用途:存放多个值 2 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制 l=['a','b','c'] #l=list(['a','b','c']) l1=list('hello') print(l1) 3 常用操作+内置的方法 优先掌握的操作: 1、按索引存取值(正向存取+反向存取):即可改也可以取 l=['a','b','c'] print(id(l)) print(l[-1]) l[0]='A' print(id(l)) print(l) l[3]='d' # 报错 2、切片(顾头不顾尾,步长) stus=['alex','egon','wxx','yxx','lxx'] print(stus[1:3]) 3、长度 stus=['alex','egon','wxx','yxx','lxx'] print(len(stus)) 4、成员运算in和not in stus=['alex','egon','wxx','yxx','lxx'] print('alex' in stus) 5、追加 stus=['alex','egon','wxx','yxx','lxx'] stus.append('wupei') stus.append('peiqi') print(stus) 插入 stus=['alex','egon','wxx','yxx','lxx'] stus.insert(1,'艾利克斯') print(stus) 6、删除 stus=['alex','egon','wxx','yxx','lxx'] del stus[1] print(stus) stus.remove('alex') print(stus) stus.pop(1) stus.pop() # 默认删除末尾 print(stus) res1=stus.remove('alex') # 单纯的删除 print(res1) res2=stus.pop(0) # 取走一个值 print(res2) 7、循环 stus=['alex','egon','wxx','yxx','lxx'] 依赖索引 i=0 while i < len(stus):     print(stus[i])     i+=1 for i in range(len(stus)):     print(i,stus[i]) 不依赖索引 for item  in stus:     print(item) 补充for循环 for i in range(0,5,2): #0  2  4     print(i) for i in range(10):#默认从零起始     print(i) for i in range(10,-2,-1):     print(i) 需要掌握的操作 stus=['alex','egon','alex','wxx','yxx','lxx'] print(len(stus)) # stus.__len__() print(stus.count('alex')) stus.extend(['a','b','c']) print(stus) stus.append(['a','b','c']) print(stus) print(stus.index('alex',1,5)) stus.reverse() print(stus) l=[1,10,3,12] l.sort(reverse=True) print(l) 大前提:只能同类型直接比较大小,对于有索引值直接的比较是按照位置一一对应进行比较的 s1='hello' s2='hf' print(s1 > s2) l1=[3,'a','b','c'] l2=['xxx','d'] print(l1 > l2) 英文单词大小定义: print('Z' > 'a') A-Za-z print('a' > 'B')

 

转载于:https://www.cnblogs.com/yangwei666/p/8611404.html

你可能感兴趣的文章
Java基础学习总结(14)——Java对象的序列化和反序列化
查看>>
linux系统管理---账号与权限管理
查看>>
我的友情链接
查看>>
Android Target unknown and state offline
查看>>
润乾报表使用EXCEL数据源的方法及改进
查看>>
java并发编程基础
查看>>
我的DOS命令路径定义错了
查看>>
应用SELinux中的目标策略限制进程运行
查看>>
html5页面点击和左右滑动页面滚动
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
TCP/IP三次握手详细过程
查看>>
sed单行处理命令奇偶行输出
查看>>
走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>