У меня есть список из питона (а, б) пара, и я хотел бы построить функцию, которая возвращает значение с наибольшей кол. Если есть какие-либо связи, то просуммировать соответствующие значения Ь и возвращает значение которого соответствующий Б имеют наименьшую сумму.
Пример:
getMostFrequent ([(1,3), (1,4), (2,5), (3,6)]) = 1
getMostFrequent ([(1,3), (1,4), (2,5), (2,6)]) = 1 (потому что 3 + 4 <5 + 6)
Моя работа до сих пор:
У меня 2 функции, один, который получает самый высокий счет (никаких связей), и один, который суммирует б значения для соответствующих значений а. У меня возникли проблемы комбинируя их, так что я могу иметь связующий выключатель, а затем суммировать значения Ь, чтобы разорвать связь.
lst=[twodlst[i][0] for i in range(len(twodlst))]
def most_common():
return max(set(lst), key=lst.count)
def getAns(listofwinnersandconfidence):
for i in range(len(listofwinnersandconfidence)):
anschoice=listofwinnersandconfidence[i][0]
d = {}
for (k,v) in listofwinnersandconfidence: d[k] = d.get(k,0) + v
return min(d.items(), key=lambda x:x[1]) # Find min value, return corresponding key