【问题标题】:How to receive python's array in function如何在函数中接收python的数组
【发布时间】:2013-05-21 01:47:20
【问题描述】:

如何将数组(如 numpy 数组)接收到函数中?假设数组a = [[2],[3]] 和函数f。元组的工作方式如下:

def f((a ,b)):
    print a * b

f((2,3))

但是数组怎么样?

def f(#here):
    print a*b

f([[2],[3]])

【问题讨论】:

  • 附带说明,第一个函数的形式是python3.x中的SyntaxError。我建议不要使用该结构。
  • 感谢您的建议!我离python的新闻还差得很远呵呵。

标签: python function numpy parameter-passing


【解决方案1】:

函数参数中的元组解包已从 Python 3 中移除,因此我建议您停止使用它。

列表可以像元组一样被解包:

def f(arg):
    [[a], [b]] = arg

    return a * b

或者作为一个元组:

((x,), (y,)) = a

但我只会使用索引:

return arg[0][0] * arg[1][0]

【讨论】:

  • 感谢您的开箱建议。 @mgilson 在问题下方写了它,但两者都很有帮助。我使用 a 和 b 是因为目标是在代码中明确(a 和 b 在上下文中具有它们的含义)。
猜你喜欢
  • 2020-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
  • 2019-02-07
  • 2013-12-16
  • 2019-10-20
相关资源
最近更新 更多