python day_04
基础知识:string 的内置方法与list的内置方法:
1、strip ,lstrip,rstrip(只清楚字符串前后的字符)
1 print(‘***my name is kermit****‘.strip(‘*‘)) 2 print(‘***my name is kermit****‘.lstrip(‘*‘)) 3 print(‘***my name is kermit****‘.rstrip(‘*‘))
2、lower(大写转为小写),upper(小写转为大写)
1 print(‘MY NAME IS KERMIT‘.lower()) 2 print(‘my name is kermit‘.upper())
3、startswith(判断字符串开头是否正确),endswith(判断结尾是否正确)
1 print(‘my name is kermit‘.startswith(‘my‘)) 2 print(‘my name is kermit‘.endswith(‘kermit‘))
4、format (把需要的字符插入到相应的字符串中) 与 %s 占位符有点相似
1 print(‘my name is kermit %s‘ %‘must fighting‘) 2 print(‘my name is {},my age is {}‘.format(‘kermit‘,18)) 3 print(‘my name is {},my age is {}‘.format(‘kermit‘,19,20)) 4 print(‘my name is {0},my age is {2}{3}‘.format(‘kermit‘,17,13,14))#根据index进行赋值 5 print(‘my name is {name},my age is {age}‘.format(name=‘kermit‘,age=18))#根据键值对key 和 value 进行赋值
5、split()从左到右切分 , rsplit() 从右到左切分
1 print(‘kermit:is:my:name‘.split(‘:‘,2)) 2 print(‘my:name:is:kermit‘.rsplit(‘:‘,1))
6、join 切分什么就加入什么 join的元素必须只包含
1 n1 = ‘my name is kermit‘ 2 n = n1.split() 3 res = ‘:‘.join(n) 4 print(res) 5 6 s1 = ‘my name is kermit‘ 7 s = s1.split() 8 res1 = ‘:‘.join([1,2,3]) 9 print(res1)
7、字符串交换 replace
1 str = ‘my name is kermit,my name is kermit‘ 2 print(str.replace(‘my‘,‘kermit‘)) 3 print(str.replace(‘my‘,‘kermit‘,2))#把字符串中的第一、二个‘my’ 换成kermit
8、isdigit 判断input输入的任意字符是否是数字类型
1 age = 18 2 inp = input(‘>>>>‘) 3 if inp.isdigit(): 4 inp = int(inp) 5 if inp > age: 6 print(‘is too long‘) 7 else: 8 print(‘非法输入!‘)
9、基本使用:存放多个值
[]定义方式 list(只能存放字符串)
1 l = [1,2,3,4,5,6] 2 l2 = list(‘123456‘) 3 l3 = list(‘kermit‘) 4 print(l3) 5 print(l2) 6 print(l)
10、优先掌握的方法:
索引存取值: 可以改,也可以取
1 str = [1,‘2‘,‘3‘,‘4‘] 2 # print(type(str)) 3 str[0] = ‘6‘ #把str列表中的下标为0的值改为‘6‘ 4 #str[5] = ‘5‘ #IndexError: list assignment index out of range 更换的下标不能超过list的长度 5 print(str)
切片,顾头不顾尾,步长
1 msg = [‘5‘,‘4‘,‘3‘,‘2‘,‘1‘] 2 print(msg[0:5:2])
长度:len()
1 msg = [‘1‘,‘2‘,‘3‘,‘4‘] 2 print(len(msg)) 3 for i in range(len(msg)): 4 print(i)
成员运算 in not in
1 str = [‘my‘,‘nam‘,‘is‘,‘kermit‘] 2 print(‘my‘in str)
追加 append 可直接在末尾追加
1 str = [‘a‘,‘b‘,‘c‘] 2 str.append(‘0‘) 3 print(str)
插入insert()
1 str = [‘a‘,‘b‘,‘c‘] 2 str.insert(1,‘b‘) 3 print(str)
删除 del remove pop
1 msg = [‘kermit‘,‘jam‘,‘kermitjam‘,‘jamkermit‘,‘sb‘] 2 3 del msg[1] 4 print(msg) 5 msg.remove(‘kermit‘) 单纯删除元素 6 7 print(msg) 8 9 n = msg.pop() 表示取值出来 10 print(n)
循环 while 依赖于下标
1 num = 0 2 while num<len(msg): 3 print(msg[num]) 4 num+=1
for循环不依赖于index
1 for i in range(len(msg)): 2 print(i,msg[i])
需要掌握的技能 count() extend() reverse() sort()
1 msg = [‘kermit‘,‘jam‘,‘kermitjam‘,‘jamkermit‘,‘sb‘,‘kermit‘] 2 3 4 print(msg.count(‘kermit‘))查看 kermit 在msg列表中的个数 5 6 7 msg.extend([‘1‘,‘2‘,‘3‘])批量把 ‘1‘ ’2‘ ’3‘ 加入到msg列表中 8 print(msg) 9 10 append()只是把一个元素加入msg列表中 11 12 print(msg.index(‘kermit‘,1,9)) 查找kermit在1-9区间的哪个下标中 13 msg.reverse() 列表里面的元素 从大到小排序 14 print(msg) 15 16 msg = [1,2,3,3,4,5,6,7,2] 17 msg.sort(reverse=True) 从小到大排序 18 print(msg)
字母之间的比较
数字之间的比较 字符串不能与数字类型比较:
1 print(‘A‘>‘a‘) 2 #A-Za-z
队列:(先进先出)
1 l = [] 2 l.append(‘kermit‘) 3 l.append(‘nike‘) 4 l.append(‘nick‘) 5 l.append(‘marhame‘) 6 print(l.pop(0)) 7 print(l.pop(0)) 8 print(l.pop(0)) 9 print(l.pop(0))
堆栈: (先进后出)
1 l1 = [] 2 l1.append(‘addids‘) 3 l1.append(‘my‘) 4 l1.append(‘name‘) 5 6 print(l1.pop()) 7 print(l1.pop()) 8 print(l1.pop())
总结列表
1、可存多个值
2、有序
3、不可变