如何在python中按参数对列表进行排序?

数据挖掘 Python
2021-10-05 01:19:33

我有一份员工记录清单。列表的每个元组代表一个人的记录,其中包括他的姓名、ID 和年龄。

例如,

emp_records = [('Karim',100, 45), ('Rahim',10, 30),('Salim', 300,60),('Abu',50,35)]

现在,我想根据 ID 对 emp_records 进行排序。

2个回答

您可以使用 lambda 函数传递需要对记录进行排序的参数。

例如,

sorted_list=sorted(emp_records, key=lambda emp : emp[1])   //Here 1 means ID    
print(sorted_list)

您也可以使用操作员模块。operator 模块具有itemgetter将 item 作为参数并根据参数进行排序的功能

例如,

from operator import itemgetter    
sorted_list=sorted(emp_records, key=itemgetter(1)) // Here 1 means ID    
print(sorted_list)

使用排序功能。它接受 key 作为参数。
然后,您可以使用 lambda 对元组的相关索引进行排序。

sorted(emp_records, key=lambda x: x[1])