簡體   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