簡體   English   中英

我如何獲得元組 Python 中每個元素的總和

[英]How can i get sum of each elements in tuple Python

例如我有一個元組

t = ((1, 1), (1, 1), (1, 1)) 

我怎樣才能只用一個循環就得到所有這些元素的總和

我想要6

您可以使用sum map ,並獲得結果的sum

sum(map(sum, t))
# 6

或者,如果您更喜歡 for 循環:

res = 0
for i in t:
    res += sum(i)

print(res)
# 6 

您可以使用簡單的迭代(適用於 python3.8,我假設它也適用於舊版本)。

t = ((1, 1), (1, 1), (1, 1)) 
sum_tuples = 0
for a,b in t:
    sum_tuples += a # First element
    sum_tuples += b # Second Element

print(sum_tuples) # prints 6

你可以使用itertools.chain

>>> import itertools
>>> t = ((1, 1), (1, 1), (1, 1)) 
>>> sum(itertools.chain.from_iterable(t))
6

你可以循環元組來總結所有。 此代碼是長,但它可以總結tupletuple

t = ((1, 1), (1, 1), (1, 1))
# Tuple in tuple:
t = ((1, 1, (1, 1, (1, 1))))

def getsum(var, current = 0):
    result = current
    if type(var) == tuple:
        for i in range(len(var)):
            x = var[i]
            result = getsum(x, result)
    else:
        result += var
    return result

print(getsum(t))

暫無
暫無

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

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