簡體   English   中英

在 python 中設置最小的第三個值

[英]Get set with smallest 3rd value in python

我有一個數組。 這個迭代器對象包括多個長度為 3 的元組。我想選擇一個第三個值最小的元組。

例如(我只是把它寫成一個列表,但它不是一個列表)

a = [(1, 5, 4), (2, 5, 0.4), (3, 4, 0.4), (1, 9, 0.3)]

output 應該是:

(1, 9, 0.3)

min與獲取第三個值的自定義鍵一起使用

values = [(1, 5, 4), (2, 5, 0.4), (3, 4, 0.4), (1, 9, 0.3)]

min_tuple = min(values, key=lambda x: x[2])
print(min_tuple)  # (1, 9, 0.3)

你可以做一個具有線性復雜度的算法,它將在數組中迭代並使用min function 找到最小的

並轉換成元組

代碼:

def smallest(a):
    result = []
    for x in a:
        result.append(min(x))
    return result
a=[(1, 5, 4), (2, 5, 0.4), (3, 4, 0.4), (1, 9, 0.3)]
print(smallest(a)) #(1, 9, 0.3)
import functools a = [(1, 5, 4), (2, 5, 0.4), (3, 4, 0.4), (1, 9, 0.3)] print(functools.reduce(lambda c, m: m if m[2] < c[2] else c, a))

暫無
暫無

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

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