Я пытаюсь прочитать кортеж и отсортировать его.Я хочу сгруппировать по первому слову в списках и сохранить списки с наименьшим третьим словом.Тогда я хочу вернуть весь список тех, которые хранились.
Я нашел очень полезный пример здесь , за исключением того, что я собираюсь сделать это со списками из трех слов вместо двух.
Текущий вывод, который я получаю:
grape 3
apple 4
banana 1
Вывод, который я хотел бы получить:
grape lemon 3
apple banana 4
banana pie 1
Я действительно просто хочу получить эту секундуслово из списков.Как я могу это сделать?
import itertools
import operator
L = [('grape', 'orange', 100), ('grape', 'lemon', 3), ('apple', 'kiwi', 15),
('apple', 'pie', 10), ('apple', 'banana',4), ('banana', 'pie', 1),
('banana', 'kiwi', 2)]
it = itertools.groupby(L, operator.itemgetter(0))
for key, subiter in it:
print(key, min(item[2] for item in subiter))