Вот чуть более упрощенный пример:
>>> rows = [
{'fname': 'Alex', 'lname': 'Ivanov', 'num': 10},
{'fname': 'Vitaly', 'lname': 'Serov', 'num': 40},
{'fname': 'Sergey', 'lname': 'Popov', 'num': 20},
{'fname': 'Stas', 'lname': 'Borodin', 'num': 30}]
>>> def get_biggest_num(data):
biggest_num = max(data, key=lambda x: x['num'])
return biggest_num
>>> result = get_biggest_num(rows)
>>> result
{'fname': 'Vitaly', 'lname': 'Serov', 'num': 40}
Непосредственно эта строка -
key=lambda x: x['num'] - означает, что сравнение словарей производится по значению ключа
"num".
Пример на простом словаре:
>>> d = dict(name='Petr', num=100)
>>> d
{'name': 'Petr', 'num': 100} # 'name' и 'num' - ключи словаря d, 'Petr' и 100 - их значения соответственно
>>> d['num']
100