我正在学习本教程:
http://www.pyimagesearch.com/2015/04/20/sorting-contours-using-python-and-opencv/#comment-405768
并且在其中一行中有功能:
fn
我想知道在(cnts, boundingBoxes) = zip(*sorted(zip(cnts, boundingBoxes),
key=lambda b:b[1][i], reverse=reverse))
函数调用之前星号的用途是什么。
答案 0 :(得分:1)
Asterisk正在拆包运营商:
>>> list(range(3, 6)) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> list(range(*args)) # call with arguments unpacked from a list
[3, 4, 5]
有关解包运营商的更多信息:
https://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists
答案 1 :(得分:0)
如果语法*表达式出现在函数调用中,则表达式必须求值为iterable。来自此迭代的元素被视为它们是附加的位置参数;如果存在位置参数x1,...,xN,并且表达式求值为序列y1,...,yM,则这相当于具有M + N个位置参数x1,...,xN,y1,...的调用。 ..,yM。