Сортировка черезе operator.itemgetter
Есть вот такой код:
tuples = [(1, 'd'), (2, 'b'), (4, 'a'), (3, 'c')]
sorted(tuples, key=lambda x: x[1])
### [(4, 'a'), (2, 'b'), (3, 'c'), (1, 'd')]
Прочитал про то, что можно не использовать lambda
-функцию, а воспользоваться operator.itemgetter(n)
. Но в моём случае не совсем понимаю, что передать вместо n
, чтобы получился такой же результат, как в первом примере? У меня сейчас вот такой пример и ошибка
import operator
tuples = [(1, 'd'), (2, 'b'), (4, 'a'), (3, 'c')]
sorted(tuples, key=operator.getitem(1))
TypeError: getitem expected 2 arguments, got 1
Что должно быть вторым аргументом у getitem
?
Источник: Stack Overflow на русском