今天偶然间看到了代码中有一个操作,就是在list前面加*,我搜了下这个用法,它意思是把list中的元素全部取出来,作为参数传到函数中,下面是官方的说明
The reverse situation occurs when the arguments are already in a list or tuple but need to be unpacked for a function call requiring separate positional arguments. For instance, the built-in range()
function expects separate start and stop arguments. If they are not available separately, write the function call with the *
-operator to unpack the arguments out of a list or tuple:
>>> range(3, 6) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # call with arguments unpacked from a list
[3, 4, 5]
网友评论