簡體   English   中英

查找列表的子集的最大值?

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

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