python – 查找总和为最小值的值

有没有更好的方法在
python中执行以下操作:

m = float("inf")
for i in ((1,2,3),(1,3,1),(2,2,3),(0,2,2)):
    r = sum(i)
    if r < m:
        best = i
        m = r
print(best)

我试图找到((1,2,3),(1,3,1),(2,2,3),(0,2,2))中的项目,它总和为最小值.

以下是我能想到的最好的:

data = ((1,2,3),(1,3,1),(2,2,3),(0,2,2))
sums = tuple(sum(i) for i in data)
print(data[sums.index(min(sums))])

最佳答案 只需使用内置的
min

data = ((1,2,3),(1,3,1),(2,2,3),(0,2,2))
print(min(data, key=sum))
点赞