[英]Find the max value of subset of a list?
我有一個Python數據解析腳本,該腳本將數據收集到元組列表中。 元組的第一個元素是“索引”,用於引用一組相關數據。 我想為每個數據集“索引”找到元組中第二個元素的最大值。
數據如下所示:
[[1, 99, '43.12', '-76,21'], [1, 98, ''43.13', '-76.22'], etc. ]
元組中的第一個元素是“索引”值。 因此,以后它會增加。
[2, 52, '42.99', '-75.95']
因此,我想在每個“索引”值中找到第二個元素的最大值。 我想按需提取該值,而不是創建結果列表,即為我找到數據集8的元素2的最大值。
我已經四處搜尋以尋找答案,但似乎沒有一個足夠接近。 我發現的大多數問題都沒有顯示如何顯式選擇元素值,並且大多數都會創建結果列表。
此函數可能返回您想要的值:
def my_max(data, index):
return max(datum[1] for datum in data if datum[0] == index)
示范:
def my_max(data, index):
return max(datum[1] for datum in data if datum[0] == index)
my_list = [
[1, 99, '43.12', '-76,21'],
[1, 98, '43.13', '-76.22'],
[2, 52, '42.99', '-75.95'],
]
assert my_max(my_list, 1) == 99
assert my_max(my_list, 2) == 52
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.