list 字典 元组及常用字符串方法
Posted 测试的自我放逐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list 字典 元组及常用字符串方法相关的知识,希望对你有一定的参考价值。
List练习1
# 校验用户名是否合法:
# 输入账号 #input
# 如果账号存在的,提示已经被注册,如果不存在的,就让他注册 all_users 【 】
#不能为空 #strip()
#用户名长度长度6-12之间 len()
#最多输入3次 #循环
all_users = [‘牛寒阳‘,‘梁盼‘,‘zhangwifi‘]
for i in range(3): #range确定循环次数 for循环默认每次加1
username = input(‘请输入账号:‘).strip() #strip方法去掉前后空格
if len(username)>5 and len(username)<13:
elif all_users.count(username)>0: #通过count来统计判断
print(‘这个名字太好啦,已经被注册啦!‘)
else:
print(‘名字不错,赶紧注册吧!‘)
break
else:
print(‘用户名长度不合法!长度6-12之间!‘)
else:
print(‘失败次数过多‘)
6.list循环
lists = [‘张流量‘,‘李wifi‘,‘王路由器‘,‘牛网线‘,[1,2,3,4]]
words=‘marry,lily,joker‘
# for i in range(4): #其他语言实现取值
# # 0 ,1,2,3
# print(lists[i])
for name in lists: # 使用变量 代替列表中的元素
if type(name)==list: #判断一个变量的类型,list是一种变量类型
for i in name:
print(i)
print(name)
输出的结果:张流量 李wifi 王路由器 牛网线1 2 3 4 [1, 2, 3, 4]
for name in words:
print(name)
for循环在循环可迭代对象的时候,每次循环的是里面的每一个元素
list 练习2
stus=[
[‘小明‘,‘未交‘],
[‘小白‘,‘已交‘],
[‘小紫‘,‘已交‘],
[‘小红‘,‘未交‘],
[‘小绿‘,‘未交‘],
[‘小黄‘,‘未交‘],
[‘小黑‘,‘已交‘]
]
pass_list = [ ] #所有已经交作业的同学 #定义一个 list的空表
fail_list = [ ] #没有交作业同学的名字
for stu in stus: #stu为list表中的元素
status = stu[1] #状态 #定义列表中元素
name = stu[0] #名字
if status == ‘未交‘:
fail_list.append(name) #append方法进行添加
else:
pass_list.append(name)
print(‘未交作业的所有同学是 %s ,总共有 %s 个人‘%(fail_list,len(fail_list))) #len方法统计长度
print(‘已交作业的所有同学是 %s ,总共有 %s 个人‘%(pass_list,len(pass_list)))#直接使用函数做变量
7.list 切片(list的一种取值方式)
示例:
# 切片是list取值的一种方式
nums = [‘段佳林‘,‘陈卫亮‘,‘王占宇‘,‘李博‘]
print(nums[1:3])
print(nums[0])
print(nums[1:3]) #顾头不顾尾
print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写
print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
print(nums[:]) #取所有的
lis = list(range(1,21))#可以使用range 1-20
print(lis)
print(lis[::2]) #步长,隔几个取一次
print(lis[::-2]) #步长,隔几个取一次
# 如果步长是正数的话,从左往右边开始取值
# 如果步长是负数的话,从右边往左边开始取值
print(lis[::-1]) #反转list
print(lis)#所有值
print(lis[1::-1])# 取值为[2,1] *list[1’:2’:3’]取值先1’再3’最后2’的顺序规律
print(lis[:])#所有值
lis.reverse() #改变了原来list的值 reverse会将中的值反序写入
new_list = lis[::-1] #产生了新的一个list,不会改变原来list的值 会将新值写入new_list
print(new_list)
print(list) #list值未改变
# 切片操作同样适用于字符串。
# info = ‘你好,今天天气很好‘
# print(lis)
# print(lis[:18:-1])
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
print(lis)
print(lis[::-2])
print(lis[::-1])
print(lis[:18:-1]) # -1倒序,开头没有取值,所以默认从20往左取值,取到18的下标(19),但不顾尾,所以19不取
s = ‘hahaha‘
s = ‘小黑‘
print(s)
print(s[0])
print(s[::-1])
8.元组 tuple
元组也是一个list,他和list的区别是,元组里面元素无法修改
尝试循环、切片、下标取值、修改值是否生效?
print(t[:1])
print(t[3])
# for i in t:
# print(i)
print(t)
#如果元组里面 只有一个元素的话,那么你必须在这个元素后面加一个逗号
t = (1,2,4,5,6,7) #用小括号括起来
words=(1,) #只有一个数字
words2=(‘abc‘,) #只有一个字符串
print(‘t‘,type(t)) #类型为tuple
print(‘words‘,type(words))
print(‘words2‘,type(words2))
print(t.index(2)) # 通过index()找到元素的下表
print(t.count(2)) #找到元素的个数
9.字典
字典是通过key - value 形式存放数据的
# string list dict
字典的优点 1、取数据方便2、速度快,
查找
print(infos.get(‘phone‘))#取不到这个key的话,就是None
print(infos.get(‘phone‘,110))#如果取不到这个key的话,默认就是110 可以添加错误返回结果帮助查看。
print(infos[‘phone‘])#如果key不存在会报错
infos = {‘name‘:‘张流量‘,‘sex‘:‘男‘,‘addr‘:‘火星‘,‘age‘:180}
#增
infos[‘phone‘]=13611087045 #增加一个key
infos.setdefault(‘小金库‘,‘2000w‘)
infos.setdefault(‘name‘,‘鹏妹妹‘) #如果key存在的话,不会修改原来key里面的值
infos[‘name‘]=‘鹏妹妹‘ #如果key存在的话,会修改原来key对应的value
# print(infos)
**字典是无序的
#修改
infos[‘name‘]=‘鹏妹妹‘
#删除
# infos.pop(‘name‘) #指定key来删除
# infos.popitem() #随机删除一个key
# del infos[‘phone‘] #指定key来删除
# infos.clear() #清空字典
#方法
# print(infos.values())#获取到字典所有的value
# print(infos.keys()) #获取到字典所有的key
# print(infos.items()) # 获取字典所有的k-v
people = {
‘田雨‘:{
‘age‘:18,
‘money‘:200000,
‘clothes‘:‘100套‘,
‘hzp‘:‘n多‘,
‘shoes‘:[‘nike‘,‘addis‘,‘lv‘,‘chanle‘]
},
‘张流量‘:{
‘金库‘:‘2000w‘,
‘house‘:[‘三环一套‘,‘4环2套‘],
‘cars‘: {
‘japan‘:[‘普拉多‘,‘兰德酷路泽‘],
‘usa‘:[‘林肯‘,‘凯迪拉克‘,‘福特‘],
‘china‘:[‘五菱宏光‘,‘qq‘,‘红旗‘]
}
}
}
people[‘张流量‘][‘cars‘][‘usa‘].append(‘牧马人‘)
# people[‘田雨‘][‘shoes‘].append(‘匡威‘)
# print(people)
# people[‘田雨‘][‘money‘] = people[‘田雨‘][‘money‘]+200
# people[‘田雨‘][‘money‘] += 200
# print(people)
#直接循环一个字典的话,那么循环的是字典的key
# for p in people:
# print(p)
for k,v in people.items(): #循环的时候,同时取key和value
print(k,‘======》‘,v)
字典练习
users = {
‘niuhanyang‘:‘123456‘,
‘yangyafu‘:‘456789‘,
}
#所有的账号和密码
# username
# pwd
# cpwd
# print( ‘123456‘ in users ) #字典里面用in来判断的话,只是判断key是否存在
for i in range(3):
username = input(‘账号:‘).strip()
passwd = input(‘密码:‘).strip()
cpasswd = input(‘密码确定:‘).strip()
if username==‘‘ or passwd==‘‘ or cpasswd==‘‘:
print(‘用户名/密码不能为空‘)
elif username in users:
print(‘用户名已经被注册!‘)
elif passwd!=cpasswd:
print(‘两次输入的密码不一致‘)
else:
print(‘恭喜,注册成功!‘)
# users.setdefault(username,passwd)
users[username]=passwd
break
else:
print(‘错误次数过多‘)
print(users)
10.常用的字符串方法
# a=‘ 字 符 串 \n\n\n\n\n‘
# c = a.strip() #默认去掉字符串两边的空格和换行符
# c= a.lstrip() #默认去掉字符串左边的空格和换行符
# c = a.rstrip() #默认去掉字符串右边的空格
# print(‘c...‘,c)
# print(‘a...‘,a)
words = ‘http://www.nnzHp.cn‘
# print(words.strip(‘day‘)) #如果strip方法指定一个值的话,那么会去掉这两个值
# print(words.count(‘a‘)) #统计字符串出现的次数
#print(words.index(‘z‘)) #找下标,如果元素找不到的话,会报错
# print(words.find(‘z‘)) #找下标,如果元素找不到的话,返回-1
# print(words.replace(‘day‘,‘DAY‘)) #替换字符串
# print(words.isdigit()) #判断字符串是否为纯数字
# print(words.startswith(‘http‘)) #判断是否以某个字符串开头
# print(words.endswith(‘.jpg‘)) #判断是否以某个字符串结尾
# print(words.upper()) #变成大写的
# print(words.lower()) #变成小写的
username = ‘[email protected]#¥‘
# print(username.isalpha()) #判断字符串是否全为字母
# print(username.isalnum()) #判断是否包含字母和数字,它是只要有字母或者有数字就返回true
上篇小结
上周回顾:
jmeter的压测
tps 每秒钟处理的请求数
响应时间 越小越好
聚合报告
jmeter 添加负载机
负载机:启动jmeter-server
主控机:
在配置里面添加 remote_hosts:ip:1099,ip:1099
jmeter linux下运行
jmeter -n -t xxx/sfdsdf/a.jmx -l res.jtl
charles 抓包工具
fiddler、winrek
1、定位问题
2、模拟一些异常的情况
3、弱网测试
python:
条件判断
if :
x
else:
xx
循环
while for
for i in range(5):
python数据类型:
int 类型
float 小数类型
string 字符串
布尔类型
#可变变量
#里面的元素你可以随便修改
list
#不可变变量
里面值不能修改
string、tuple
以上是关于list 字典 元组及常用字符串方法的主要内容,如果未能解决你的问题,请参考以下文章