字符串跟列表的补充

字符串类型(补充)

strip:移除指定的字符
# print('***ii(('.strip('**''((')) #移除左右两边的指定字符
# print('***ii(('.lstrip('**''((')) #移除左边的指定字符
# print('***ii(('.rstrip('**''((')) #移除右边的指定字符
例:
# age=10
# inp=input('>>: ').strip() #防止用户输入空格,默认移除空格
# if inp.isdigit(): #如果
# inp=int(inp)
# if inp>age:
# print('too bit')
# else:
# print('输入错误')
#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(字符串格式化)的三种玩法
#第一种:用{}来占位,后面的值没有个数的限制,是根据顺序的形式一一对应
# s1='my name is %s my age is %s' %('egon',18)
# s2='my name is {} my age is {}'.format('egon',18)
# print(s1)
# print(s2)


# s1='my name is %s my age is %s' %('egon',18,19)
# s2='my name is {} my age is {}'.format('egon',18,19)
# print(s1)
# 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(拼接):joio按照指定的字符拼接在一起
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]) # join方法传入的列表必须只包含str类型的元素


#7、replace(替换):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:查找
# 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(居中),ljust,rjust,zfill:填充
# print('========================egon=======================')
# print('egon'.center(50,'*'))
# print('egon'.ljust(50,'*'))
# print('egon'.rjust(50,'*'))
# print('egon'.zfill(50))

#3、expandtabs:指定\t的空格数
# 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'])
# 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]) #1是开头,3是结尾,顾头不顾尾===》》['eag','wxx']

#3、长度(计算一个变量里元素的个数)
# stus=['alex','egon','wxx','yxx','lxx']
# print(len(stus)) #计算stus里的字符串个数===》4

#4、成员运算in和not in (判断一个变量是否在)
# stus=['alex','egon','wxx','yxx','lxx']
# print('alex' in stus) #‘alex'在stus列表里==》Ture

#5、追加:增加值,从末尾开始加
# stus=['alex','egon','wxx','yxx','lxx']
# stus.append('wupei') #往stus列表里加入一个字符串
# stus.append('peiqi')
# print(stus)
# 插入:insert(插入的位置,要插入的值)
# stus=['alex','egon','wxx','yxx','lxx']
# stus.insert(1,'艾利克斯') #1为要插入的位置, #往stus插入指定位置的一个字符串,1是位置
# print(stus)

#6、删除
# stus=['alex','egon','wxx','yxx','lxx']
# del stus[1]
# print(stus)
# stus.remove('alex') #.remove根据列表里的元素去删除 :在stus列表中删除一个指定的字符串 单纯的删除
# print(stus)

# stus.pop(1) #pop根据索引(位置)去删除,(弹出被删除的值)
# 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)): #根据stus的列表的长度来索引,列表长度为5,然后循环列表长度索引
# 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'))       #打印列表里‘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')

 

 


# 了解的知识点
# 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 @ 2018-03-21 19:39  鲁之敬  阅读(77)  评论(0编辑  收藏  举报