我有他的清單:
[['191'/span>, '279'/span>, '1488'/span>, '1425'/span>]
['191'/span>, '279'/span>, '1488'/span>, '855'/span>]
['191'/span>, '279'/span>, '1488'/span>, '1140'/span>]
['191'/span>, '279'/span>, '1488'/span>, '285'/span>]
['191'/span>, '279'/span>, '1488'/span>, '665'/span>]
['191'/span>, '279'/span>, '1488'/span>, '570'/span>]
['104'/span>, '264'/span>, '1488'/span>, '1140'/span>]
['191'/span>, '279'/span>, '1488'/span>, '760'/span>]
['104'/span>, '264'/span>, '1488'/span>, '760'/span>]
['104'/span>, '264'/span>, '1488'/span>, '665'/span>]
['104'/span>, '264'/span>, '1488'/span>, '1425'/span>]
['104'/span>, '264'/span>, '1488'/span>, '285'/span>]
['104', '264', '1488', '855'] ]
我需要用一個回圈找到最大值,如果第一個和第二個值是相同的,如果不是,我就取唯一的值。
例如,在這里我想要的結果是:
maxlist = [['191','279','1488','1425'],['104','264','1425']]
我試過這樣做 :
maxlist = [] []
for i in res:
i = i.split("; ")
finallist.append(i)
for i in finallist:
for x in finallist:
if x[0] == i[0] and x[1] == i[1] 。
maxlist.append(int(x[3))
try:
finallist.remove(i)
except:
pass: finallist.remove(i)
maxresult = max(maxlist)
valueA = x[0]
valueB = x[1]
valueC = x[2]
print(valueA str(" ") str(valueB) str(" ") str(valueC) str(" ") str(maxresult)
uj5u.com熱心網友回復:
你的問題有點不清楚,但是如果你想讓每個子串列的第四個值等于最大的第四個值,你可以用這個方法:
然后你可以洗掉重復的答案,如果它們與其他資料一起出現,或者洗掉第三個值,等等 uj5u.com熱心網友回復: 假設你想找到最后一列中具有最大整數值的元素,并按前兩列分組,你可以做如下作業: 你可以在stdlib檔案中找到對
標籤: 上一篇:java OA系統 自定義表單 流程審批 電子印章 手寫文字識別 電子簽名 即時通訊 下一篇:Arrow-kt:如何將Either<E,List<Either<E,A>>變成Either<E,List<B>>?
maxlist = maxlist
maxlist = list(filter(lambda x: int(x[3]) == max(x for x in map(lambda x: int(x[3]), inputlist)),輸入串列)from itertools import groupby
from operator import itemgetter
sample_data = [
["191"/span>, "279"/span>, "1488"/span>, "1425"/span>]。
["191"/span>, "279"/span>, "1488"/span>, "855"/span>]。
["191"/span>, "279"/span>, "1488"/span>, "1140"/span>]。
["191"/span>, "279"/span>, "1488"/span>, "285"/span>]。
["191"/span>, "279"/span>, "1488"/span>, "665"/span>]。
["191"/span>, "279"/span>, "1488"/span>, "570"/span>]。
["104"/span>, "264"/span>, "1488"/span>, "1140"/span>] 。
["191"/span>, "279"/span>, "1488"/span>, "760"/span>]。
["104"/span>, "264"/span>, "1488"/span>, "760"/span>] 。
["104"/span>, "264"/span>, "1488"/span>, "665"/span>] 。
["104"/span>, "264"/span>, "1488"/span>, "1425"/span>]。
["104"/span>, "264"/span>, "1488"/span>, "285"/span>]。
["104"/span>, "264"/span>, "1488"/span>, "855"/span>] 。
]
# groupby需要資料按相同的鍵進行排序。
sorted_data = sorted(sample_data, key=itemgetter(0, 1))
# 通過前兩個值對4元組進行分組。
grouped = groupby(sorted_data, key=itemgetter(0, 1)
def get_last_element_value(element)。
# 我們需要字串的整數值來比較各元素,。
# 所以我們不能使用itemgetter,而要使用我們自己的key函式。。
return int(element[-1] )
結果 = [max(elements, key=get_last_element_value) for _, elements in grouped]
groupby相當好的解釋。
