按功能排序python列表

vas*_*cop 27 python sorting list

我有一个函数,它将一个对象作为参数并给我一个数字.我希望使用这个数字作为排序列表的关键.

如果我要遍历列表,我会做类似的事情:

sorted_list = []
for object in my_list_of_objects:
    i = my_number_giving_function(object)
    sorted_list.insert(i, object)
Run Code Online (Sandbox Code Playgroud)

我如何才能sorted获得相同的结果,是否可取?这是我想出来的,但我不知道该怎么把'???'

sorted_list = sorted(my_list_of_objects, key=my_number_giving_function(???))
Run Code Online (Sandbox Code Playgroud)

msw*_*msw 22

sort(my_list_of_objects, key=my_number_giving_function)
Run Code Online (Sandbox Code Playgroud)

对于排序,请参阅Python Sorting HOWTO

  • 如果`func`只接受一个参数,那么`func`相当于`lambda x:func(x)`.这被称为eta-reduction. (5认同)