Прежде всего, пожалуйста, избегайте вызова переменной dict
, поскольку вы можете скрыть встроенную таким образом.
1) Я не верю в это. Если вы хотите отсортировать dict, просто используйте модуль OrderedDict
из collections
.
2) Вы должны прочитать ее как анонимную функцию, которая при входном аргументе key
вернет объект mydict[key]
. Это будет эквивалентно:
def foo(key):
# assume mydict is in scope
return mydict[key]
3) Предполагая, что ваша переменная d
здесь является диктом, она вернет список ключей в словаре, отсортированный по соответствующим им значениям из d
. Это означает, что функция d.get()
вызывается для любого значения, равного in d
при итерации, и список будет отсортирован по возвращаемым значениям d.get
, а не по самим объектам.