1.表达式用法 *
1)序列解包运算:把不定长的数据转换成list(可以用于列表、元组、字典的解包)
a = (1, 2, 3) 或者[1, 2, 3]print(a) 结果为:(1, 2, 3) [1, 2, 3]print(*a) 结果为:1 2 3c = {“name”: “zap”, “age”: 28}print(c)print(*c) 结果为: name ageprint('name:{name}, age:{age}'.format(**c))a, b, *c = 1, 2, 3, 4#则c结果为[3, 4]a, b, *c = 1, 2#则c的结果为[]
2)zip的解包运算
a = [1, 2, 3]b = [4, 5, 6]c = zip(a, b)list(c) 结果为[(1, 4), (2, 5), (3, 6)]
3)作为形参,可表示一个可变长度的序列,结果是tuple类型,只接收非关键字参数
def func(a, *b):print(a)print(b)func(1, 2, 3)结果为:1(2, 3)
4)**作为形参,结果是dict类型,字典只能接收关键字参数
def func(a, **b):print(a)print(b)func(1, one=1, two=2, three=3)结果:1{“one”: 1, “two”: 2, “three”: 3}
5)作为实参,*相当于对tuple的解构,**是对dict的解构
a = (1, 2, 3)def func(b, c, d):print(b, c, d)func(*a)结果 1,2, 3
6)列表倒序
a = [1, 2, 3, 4, 5]b = a[::-1]
7)lambda
a = [{'name':'B', 'age':50}, {'name':'A', 'age':30}, {'name':'C', 'age':40}]sorted(a, key=lambda x:x['name']) # 按姓名排序sorted(a, key=lambda x:x['age']) # 按年龄排序
8)format
"{:02}".format(i)两位数字