python *(星号的用法)
总结一下星号的用法
1. 乘法运算符
python中表示乘法,**表示次方
对于列表/元组:表示重复,且只能乘以int整数:例如
a=[1,2,3]
b=a*3
print(b)
结果:[1,2,3,1,2,3]
题外话,列表不能相乘,比如要算一个向量的内积,就要用np库来完成
2. 在函数定义中使用,表示可变参数
在函数定义中使用,表示可变参数,*表示把参数组成tuple,**会组成dict
def func(*a,**b):
print(a)
print(b)
#调用函数
func(1,2,3,4,name='cjy',age=20)
结果为:(1,2,3,4)
{'name': 'cjy', 'age': 20}
不过若含有他俩的话得把*放在前面,而在后。**
3.函数实参,对tuple解构
lst=(1,2,3)
def func(a,b,c):
print(a)
print(b)
print(c)
#调用函数过程
func(*lst)
运行结果:
1
2
3
4.把一段不定长数据转换成list
a,b,*c=1,2,3,4,5
print(a,b,c)
结果为 > 1 2 [3, 4, 5]
5. zip解包运算
a = [1, 2, 3]
b = [4, 5, 6]
c = zip(a, b)
#此时print(list(c))的结果为[(1,4),(2,5),(3,6)]
d, e = zip(*c)
print(d)
print(e)
此时d=(1,2,3),e=(4,5,6)