一、字符串需要掌握的操作方法:
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 nb'.startswith('alex'))
print('alex is nb'.endswith('nb'))

4、format 的三种用法:
第一种:{}(用大括号来占位)
s2='my name is {} my age is {}'.format('egon',18)
print(s2)
第二种:
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(join方法传入的列表必须只包含str类型的元素)
cmd='egon:123:admin:rwx'
l=cmd.split(':')
res=''.join(l)
res=':'.join(l)
res='             '.join(l)
print(res,type(res))
print(l)
print('%s:%s-%s-%s' %(l[0],l[1],l[2],l[3]))

 ':'.join([1,2,3])

7、replace(替换)
msg='wupeiqi say my name is wupeiqi'
print(msg.replace('wupeiqi','NB'))
print(msg.replace('wupeiqi','NB',1))

8、isdigit(判断,是否是数,只能判断整数)

age=10
a=input('>>: ').strip()
if a.isdigit():
a=int(a)
if a > age:
print('too big')
else:
print('输入数据非法')

其他操作(了解即可)
1、find,rfind,index,rindex,count
 msg='my egon hegon 123'
 print(msg.find('456'))
 print(msg.find('egon'))
 print(msg.rfind('egon'))

 print(msg.index('789'))
 print(msg.index('egon'))


2、center,ljust,rjust,zfill
 print('========================egon=======================')
 print('egon'.center(50,'*'))
 print('egon'.ljust(50,'*'))
 print('egon'.rjust(50,'*'))
 print('egon'.zfill(50))

3、expandtabs
 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数字系列
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'.istitle())#(标题)
 print(' '.isspace())#字符串由空格组成
 print('print'.isidentifier())#关键字

 

总结字符串类型:
'''
1 存一个值
只能存一个值

2 有序or无序
有序

3 可变or不可变
!!!不可变:值变,id就变。不可变==可hash
'''


二、列表
1、用途:存放多个值

2 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制
 l=['a','b','c'] #l=list(['a','b','c'])

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、追加(在列表的末尾添加)(添加:append)
 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') #False
A-Za-z
 print('a' > 'B') #True


了解
 stus.clear()
 print(stus)
 l=stus.copy()
 print(l)


练习:
队列:先进先出
 l1=[]

入队
 l1.append('first')
 l1.append('second')
 l1.append('third')
 print(l1)
出队
 print(l1.pop(0)) #['second', 'third']
 print(l1.pop(0)) #['third']
 print(l1.pop(0)) #[]

堆栈:先进后出
 l1=[]
 入栈
 l1.append('first')
 l1.append('second')
 l1.append('third')
 出栈
 print(l1.pop())
 print(l1.pop())
 print(l1.pop())


总结列表类型:

 1 存多个值

 2 有序

 3 可变

 

posted on 2018-03-21 13:51  muzinianhua  阅读(93)  评论(0编辑  收藏  举报