簡體   English   中英

從元組的元組中獲取價值

[英]getting value from a tuple of tuple

我是 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

只需刪除外面的括號:

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

這真是奇怪的語法,但基本上你看到的是來自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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM