[python]中的* 和**

  • *a可以理解为将一个串用逗号隔开的变量变换成列表,并用a作为列表的名字
def adder(*num):
    sum = 0
    
    for n in num:
        sum = sum + n

    print("Sum:",sum)

adder(3,5)
adder(4,5,6,7)
adder(1,2,3,5,6)
  • **a可以理解为将一个串用逗号隔开的赋值操作变换成字典,其中赋值操作的左边是key,右边是value,并用a作为这个字典的名字.
def intro(**data):
    print("\nData type of argument:",type(data))

    for key, value in data.items():
        print("{} is {}".format(key,value))

intro(Firstname="Sita", Lastname="Sharma", Age=22, Phone=1234567890)
intro(Firstname="John", Lastname="Wood", Email="johnwood@nomail.com", Country="Wakanda", Age=25, Phone=9876543210)
  • *星号操作是解包
a = [1,2,3,4]
print(*a)
>>> 1 2 3 4
  • zip中的*apply操作拿走list,然后将list中的元素当做输入的参数
a = [1,2,3,4]
b = [5,6,7,8]

print(*zip(a,b))
>>> (1, 5) (2, 6) (3, 7) (4, 8)
  • 普通的解包
a = [1,2,3,4]
b = [5,6,7,8]

d,f,g,h = zip(a,b)
print(d)
>>> (1, 5)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容