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)

posted @ 2022-08-26 18:39  wenli7363  阅读(908)  评论(0编辑  收藏  举报