Сортировка черезе operator.itemgetter

Рейтинг: -1Ответов: 1Опубликовано: 18.01.2023

Есть вот такой код:

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?

Ответы

▲ 2

Ответ максимально прост - я невнимательный хлеб. Вместо getitem нужно писать itemgetter