繁体   English   中英

Python对包含集合的列表进行排序

[英]Python Sort a List containing sets

知道如何对包含set类型元素的列表进行排序吗? 这是我正在使用的代码:

 sorted_by_second = sorted(result_list, key=lambda set: set[1])

我的result_list外观示例:

[['past due', '32.86691794423967'], ['code', '23.24240338748313'], ['why:customer','27.65754595407057']]

我想根据列表元素的每个tupple中的第二个元素按降序对列表进行排序。 排序后的列表结果应类似于

 [['past due', '32.86691794423967'], ['why:customer','27.65754595407057'], ['code', '23.24240338748313']]

我建议使用float将第二个元素从字符串映射到数字。 这将允许sorted以数字排序。 如果不使用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 是内置函数,所以不要使用set作为名称。

sortedlst包含按第二个元素降序排列的元素

lst=[['past due', '32.86691794423967'], ['code', '23.24240338748313'], ['why:customer','27.436']]

sortedlst=sorted(lst,key=lambda x: x[1],reverse=True)
print sortedlst

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM