Python字典前双星号(**)的作用

2022-09-02 21:19:33 浏览数 (1)

Python中,单星号 * 和双星号 ** 除了作为“乘”和“乘方”的数值运算符外,还在列表、元组、字典的操作中有看到,下面对其进行解释:

    单星号 *     单星号 * 用于对列表LIST或元组tuple中的元素进行取出(unpacke)。例如,np.arange函数需要独立的开始和停止参数:

代码语言:javascript复制
import numpy as np
print(np.arange(3,6))
输出:
[3, 4, 5]

采用 * 可将列表或元祖中的元素直接取出,作为arange的上下限:

代码语言:javascript复制
import numpy as np
LIST = [3, 6]
print(np.arange(*LIST))
输出:
[3, 4, 5]

    双星号 **     双星号 ** 可将字典里的“值”取出

代码语言:javascript复制
def parrot(voltage, state=‘a stiff’, action=‘voom’):
   … print “-- This parrot wouldn’t”, action,
   … print “if you put”, voltage, “volts through it.”,
   … print “E’s”, state, “!”
   …
   d = {“voltage”: “four million”, “state”: “bleedin’ demised”, “action”: “VOOM”}
   parrot(**d)

输出:
– This parrot wouldn’t VOOM if you put four million volts through it. E’s bleedin’ demised !

0 人点赞