编写 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')))
我有一些代码要移植到 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')))