接口测试基础—列表操作
1、列表排序:sort和sorted的区别
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)
#列表
#1: 列表排序[ ]
a = ['USA', 'China', 'Canada', 'Russia']
a.sort(reverse=True)
#2; 列表嵌套列表,[[],[],[]] 按照子列表的值排序, 修改x[0] 这里的下标即可
a = [['USA', 'b'], ['China', 'c'], ['Canada', 'd'], ['Russia', 'a']]
a.sort(key=lambda x: x[0], reverse=True)
a.sort(key=lambda x: x[1], reverse=False)
#3: 列表嵌套字典[{},{},{}], 按照字典值(value) 排序
a = [{'letter': 'b',"name":"2"}, {'letter': 'c',"name":"1"}]
a.sort(key=lambda x: x['letter'], reverse=False)
a.sort(key=lambda x: x['name'], reverse=False)
#4:当字典值也是字典时, 这时候会优先按照键名排序, 再按照键值排序. 例子如下
a = [{'letter': {'a': 'b'}}, {'letter': {'a': 'c'}}, {'letter': {'a': 'd'}}, {'letter': {'a': 'a'}}]
a.sort(key=lambda x: x['letter'], reverse=True)
#5:列表嵌套元组[(),(),()]
a = [("age",12),("age",10),("age",9)]
a.sort(key=lambda x:x[0],reverse=True)
a.sort(key=lambda x:x[1],reverse=True)
"""
#6:年龄排序,年龄相同,名字排序
a=[["张1",12],["张2",13],["张三",12]]
a.sort(key=lambda x:(x[1],x[0]),reverse=False)
print(a)
5、推导式和生成器的区别
#列表推导式
a =[i for i in range(10)]
print(a)
#字典推导式
b={i:random.randint(4,8) for i in ['a','b','c','d']}
print(b)
#生成器
C = (i for i in range(10))
print(C)