[英]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.