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

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

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

import numpy as np
print(np.arange(3,6))
输出:
[3, 4, 5]

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

import numpy as np
LIST = [3, 6]
print(np.arange(*LIST))
输出:
[3, 4, 5]

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

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 !

以上便是星号与双星号在列表、元组、字典操作中的作用。除此之外,星号与双星号还用于“在变量前添加单个星号或两个星号,实现多参数的传入或变量的拆解”,具体参见(https://www.cnblogs.com/empty16/p/6229538.html)

参考:(https://docs.python.org/2.7/tutorial/controlflow.html#unpacking-argument-lists)4.7.4

你可能感兴趣的:(工具)