Если мой разделителях табуляции файла:Получить элемент с наибольшим значением в питоне
a b 77.8
a d 77.8
e f 56.7
e r 40.0
Я хочу напечатать эль в строке [0] с максимальным значением в строке [2], но когда значение такое же, чтобы печатать оба, как изменить мой код ниже для этого?
import csv
from itertools import groupby
from operator import itemgetter
with open('input.txt,'rb') as f1:
with open('out.txt','wb') as f2:
reader = csv.reader(f1, delimiter='\t')
writer1 = csv.writer(f2, delimiter='\t')
for group, rows in groupby(filter(lambda x: x[0]!=x[1], reader), key=itemgetter(0)):
best = max(rows, key=lambda r: (float(r[2])))
writer1.writerow(best)
Итак, мой вывод должен быть таким:
a b 77.8
a d 77.8
e f 56.7
Каким должен быть правильный вывод? –