编写 itemgetter 和 attrgetter 的 pythonic 方式?

pythonic way of composing itemgetter and attrgetter?

我有一些代码要移植到 Cython,其中有一行

my_list.sort(key=lambda x: x.attr[item])

是否有一种很好的 pythonic 方法来避免使用 itemgetter 和 attrgetter 的某种组合来关闭?

关键是使用包functional:

from functional import compose
from operator import attrgetter, itemgetter
my_list.sort(key=compose(itemgetter(item), attrgetter('attr')))