python基础之list,dict与字符串
本次博客内容记录第三次自动化测试课程(2019.03.29)的主要知识点,主要包括python基础中的列表,字典及字符串常用方法的使用。
一.列表相关方法的使用
stus = ['快乐', 'kaixin','xiaohei'] # 增加 stus.append("xiaobai") stus.append('xiaobai') stus.insert(9,"xiaoyan") # 查 # print('单个取',stus[0]) # print('最后一个',stus[-1]) # print('改之前的',stus) # 改 # stus[1]='pangniu' # print('改之后的',stus) # 删 # stus.pop(0) #默认删除最后一个元素 # del stus[0] #删除指定位置的元素 # stus.remove('pangniu') #删除指定的元素 # 如果list有多个相同的元素,只会删除一个 # stus.remove('xiaobai') # print('删完之后的',stus) # 删除list中不存在的元素,会报错 # stus.remove('lalala') # print('删完之后的',stus) # 其他常用方法 count = stus.count('pangniu') #某个元素在list里面的数量 # print('count方法'count) # stus.clear() #清空list # new_stus = stus.copy()#复制一个原来的list stus.reverse()# 反转 stus.sort()# 排序-升序 stus.sort(reverse=True)# 排序-降序 nums= [1, 22, 32, 434, 545, 767676] stus.extend(nums)# 把一个list的元素加入到另外一个list里面 print('expend',stus) result = stus.index('xiaobai')#找某个元素的下标 print('xiaobai的下标', result)
二.dict常用方法的使用
1.字典的常用方法
#用户名 密码 电话 住址 stus_info = { 'username':'zzl', 'password':'123', 'money':500, 'addr':'大连' } d1 = {} # 创建空字典 d1 = dict()# 创建空字典 # 增加元素 d1['name']='pangniu' d1['age']=19 d1.setdefault('class','双子座') # d1.setdefault('age',28)# 使用这种方法时,key已经存在时不会修改原来的值 # 修改 d1['name'] = 'pangniu2'# 这种方法会修改原来key的值 print(d1) # 取值 print(d1['name']) print(d1.get('name')) # 取不存在的key print(d1['nam'])# 不存在时会报错 print(d1.get('name2',0)) 会返回none。增加默认值0的话会返回0 print(d1.keys())# 取到字典里所有的key print(d1.values())# 取到字典里所有的value # 删除 d1.pop('name') del.d1['name'] d1.popitem()#随机删除一个元素 print(d1) d1.clear()# 清空 d2 = {'abc':'234'} d1.update(d2) # 把d2增加到d1中 print(d1)
2.字典的循环
# 把字典里每个用户的密码前面都加上"账号_" #1/循环这个字典 #2/把value修改成value = key_ + value users={ 'ssdd':'dssd', 'dfdf':'fdfd', 'dsdsds':'fdfdf', 'fdeef':'dsoope' } for k in users: # 循环字典返回的是字典的key value = users[k]# 通过key取到value users[k] = '%s_%s'%(k,value) print(users) for k,v in users.items(): print('%s=====>%s'%(k,v))
三.字符串的常用方法
s = 'abcccc' result = s.strip()# 是去掉空格和换行符\n的,只能去两边的 result2 = s.strip('c')# 去掉指定符号 print(result) print(s) print(s.lstrip())# 去左边 print(s.rstrip())# 去右边 # 字符串是不能被修改的 q=s[-1]='d' print(q) print(s.count('c'))# 某个字符出现的次数 print(s.index('c'))# 找下标;不存在时报错 print(s.find('c'))# 找下标;不存在时返回-1 print(s.capitalize())# 首字母大写 print(s.upper())# 全部变成大写 print(s.lower())# 全部变成小写 print(s.replace('c','clever'))# 替换字符串 # 替换的字符串不存在 print(s.replace('d','dddd'))# 不会报错 # 替换所有空格,包括中间的 print(s.replace(' ','')) print('abc.jpg'.endswith('.jpg'))# 判断abc.jpg是不是以.jpg结尾 print('abc'.startswith(''))# 判断abc是不是a开头 file_name = input('请上传文件,只能是zip压缩包:') if file_name.endswith('.zip'): print('没问题') else: print('文件格式错误') print('欢迎登陆'.center(50,'*'))# 把字符串放在50个*中间 print('1'.zfill(5))#字符串长度不够时,自动补0 username = 'abc' today = '2019-03-30' s2 = '欢迎{}登陆,今天的日期时{}' print(s2.format(username,today))# 格式化 用{}占位用format # %s与format方式的区别 # %s按照顺序填写各项 s3 = "insert into user (username,password,"\ "ddr,phone,class,score,sum_avg) value(%s,%s,%s,%s,%s,%s,%s,%s)" # format可以指定名字,传值时不需按照顺序 s4 = "insert into user VALUE ({username},{password},{phone})" new_s4 = s4.format(password='123',username='zzl',phone='13211112222') print(new_s4) # format_map字典格式传值 new_s4= s4.format_map({'password':123, 'username':'ccc', 'phone':110}) print(new_s4) print('1234'.isdigit())# 判断是否为整数 print(' '.isspace())# 判断是否为空格 print(s.islower())# 判断是否为全小写 print(s.isupper())# 判断是否为全大写 print('123abc¥'.isalnum())# 判断是否有特殊符号,没有返回True print('abc'.isalpha())# 不是数字及特殊符号时,返回True users = 'abc,abc,xiaobai,xiaohei,xiaoming,xiaolan' users2 = 'abc abc xiaobai xiaohei xiaoming xiaolan' # szz-abc,123456 result = users.split(',') # 按照某个字符串分割 # 把分割后的字符串放在一个list里 # 如果指定的字符串不存在,就把整个字符串放在list里面 result2 = users2.split() print(result) print(result2) names = ['abc', 'abc', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan'] f = open('names.txt','w',encoding='utf-8')# 写文件 f.write('abc') # 只能写字符串 f.close() # join作用 1/把list变成字符串 2/用指定的字符串把list里面每个元素连接起来 li = ['abc', 'abc', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan'] # # print(','.join(li))# 连接字符串(用前面指定的符号把list中的值拼接成字符串) f = open('names.txt', 'w', encoding='utf-8')# 写文件 f.write(','.join(li)) # 把list转成字符串写入文件 # f.write(str(li)) f.close() f = open('names.txt','r',encoding='utf-8')# 读文件 res = f.read() # 只能写字符串 print('从文件中读出来的数据是:',res) f.close()