从元组元组中获取价值

时间:2017-10-06 20:23:05

标签: python

我是python的新手,我需要帮助,如何从函数调用中获取返回值。 我尝试这样做,这显然是错误的我需要将返回值分配给上述变量,我无法改变我如何从函数返回值,因为这是问题所需要的。

((cross_low,cross_high),cross_sum)=find_maximum_crossing_subarray(A,low,mid,high)

我从find_maximum_crossing_subarray函数返回这种类型的值:

tup=(max_left,max_right)
tup1=(tup,left_sum+right_sum)
return tup1

2 个答案:

答案 0 :(得分:0)

只需删除外部括号:

{{1}}

答案 1 :(得分:0)

这是非常奇怪的语法,但基本上你会看到来自find_maximum_crossing_subarray(..)的返回签名。

您可以看到简化版

def some_function():
    return (1, 2), 3

x = ((a, b), c) = some_function()

print(x, a, b, c)

...
... output:
((1, 2), 3) 1 2 3

请注意我仍然可以访问abc。同样,您可以访问cross_*个变量。

如果您需要查找某些内容的最大值,max是内置函数,sum也是如此。

如果您可以更改find_maximum_crossing_subarray(..)的返回签名,我会改为:

    # ..
    return max_left, max_right, left_sum + right_sum


results = find_maximum(A, low, mid, high)

cross_low, cross_high, cross_sum = results