Python对包含集合的列表进行排序
知道如何对包含set类型元素的列表进行排序吗? 这是我正在使用的代码:Python对包含集合的列表进行排序,python,list,sorting,Python,List,Sorting,知道如何对包含set类型元素的列表进行排序吗? 这是我正在使用的代码: sorted_by_second = sorted(result_list, key=lambda set: set[1]) 我的结果列表的外观示例: [['past due', '32.86691794423967'], ['code', '23.24240338748313'], ['why:customer','27.65754595407057']] 我想根据列表元素的每个元组中的第二个元素按降序对列表进行排序
sorted_by_second = sorted(result_list, key=lambda set: set[1])
我的结果列表的外观示例:
[['past due', '32.86691794423967'], ['code', '23.24240338748313'], ['why:customer','27.65754595407057']]
我想根据列表元素的每个元组中的第二个元素按降序对列表进行排序。
排序后的列表结果应该如下所示
[['past due', '32.86691794423967'], ['why:customer','27.65754595407057'], ['code', '23.24240338748313']]
我建议使用将第二个元素从字符串映射到数字。这将允许排序
按数字排序。如果不使用float
,sorted
将第二个元素排序为字符串
sorted(result_list, key=lambda x: float(x[1]), reverse=True)
结果:
[['past due', '32.86691794423967'],
['why:customer', '27.65754595407057'],
['code', '23.24240338748313']]
提示:不要使用
set
作为名称,因为。sortedList包含按第二个元素降序排序的元素
lst=[['past due', '32.86691794423967'], ['code', '23.24240338748313'], ['why:customer','27.436']]
sortedlst=sorted(lst,key=lambda x: x[1],reverse=True)
print sortedlst
不能有集合,因为集合是无序的,所以
set[1]
没有意义。请注意,第二个元素是字符串,因此将按字典顺序排序-如果要进行数字排序,则需要转换为float
。@user4045430如果您的问题得到回答,请关闭该问题