Python 将参数作为未打包的数组传递

Python 将参数作为未打包的数组传递,python,Python,我遇到了以下函数调用: intersection_cardinality = len(set.intersection(*[x, y])) 将参数作为仅为此创建的未打包数组传递,而不是简单地调用set.intersection(x,y),有什么好处吗 这篇博文是用python2写的,但问题也涉及到3。在您提供的示例中,使用这种语法没有实际意义 不过,在某些情况下,创建数组或元组来解包可能会很有用 # Python3 def print_n_times(n, string): # In

我遇到了以下函数调用:

intersection_cardinality = len(set.intersection(*[x, y]))
将参数作为仅为此创建的未打包数组传递,而不是简单地调用
set.intersection(x,y)
,有什么好处吗


这篇博文是用python2写的,但问题也涉及到3。

在您提供的示例中,使用这种语法没有实际意义

不过,在某些情况下,创建数组或元组来解包可能会很有用

# Python3

def print_n_times(n, string):
    # Instead of doing a loop we unpack an array of length n
    print(*n*(string,), sep='\n')

在这种情况下,这只是语法上的糖分。我甚至不确定它是否如此甜美。
set.intersection(*[x,y])
是编写简单表达式的一种过于复杂的方法
x&y
解压生成器和生成器表达式以传递给变量函数(如
print
zip
)也很有用。