Python常见排序操作示例【字典、列表、指定元素等】
本文详细解析Python中常见的排序操作,包括字典按key和value排序、列表升序与降序排序、列表去重后排序,以及根据指定列表顺序对字典列表进行排序。通过具体代码示例,帮助开发者快速掌握Python内置排序函数的多种应用场景。
字典按value排序
在Python中,可以使用 sorted() 函数对字典进行排序。默认情况下,sorted() 函数会对字典的键(key)进行排序。如果需要按值(value)排序,可以通过 lambda 函数指定排序键。例如,以下代码将字典按值进行降序排序:
d1 = {"name":"python","bank":"icbc","country":"china"}
# reverse是否倒序,x[1]代表value,x[0]为key
d1 = sorted(d1.items(),lambda x: x[1],reverse=True)
字典按key排序
如果需要对字典按键(key)进行排序,可以直接使用 sorted() 函数。以下代码将字典按键进行升序排序:
d1 = {"name":"python","bank":"icbc","country":"china"}
d1 = sorted(d1.items())
列表不去重排序
对于列表的排序,Python提供了 sorted() 函数。默认情况下,该函数会对列表进行升序排序。如果需要降序排序,可以设置 reverse=True 参数。以下代码展示了列表的升序和降序排序:
l = [3,2,4,5]
l = sorted(l) # 升序
# l = sorted(l,reverse=True) # 降序
列表去重排序
在对列表进行排序之前,有时需要先对列表进行去重处理。可以使用 set() 函数将列表转换为集合,从而去除重复元素。然后再将集合转换回列表并进行排序。以下代码展示了列表去重后的排序:
l = [3,2,3,5,1]
l = set(l) # 使用set集合去重
l = list(l) #
l = sorted(l) # 排序
字典列表排序
当列表中的元素是字典时,可以根据字典中的某个键进行排序。例如,以下代码根据字典中的 age 键进行升序排序:
# 以age升序排序
L = [
{"name":"python","age":12},
{"name":"ghj","age":10},
{"name":"java","age":17}
]
L = sorted(L,key=lambda x: x["age"])
根据指定列表元素顺序进行排序
在某些场景下,可能需要根据一个指定的列表顺序对另一个列表进行排序。例如,以下代码根据 sortList 中的ID顺序对 curList 进行排序:
# 指定列表,假设存储的是curList中的ID列表
sortList = ["4","3","5","2","1"]
# 当前列表
curList = [{"id":"1","province":"河南"},{"id":"2","province":"河北"},{"id":"3","湖南"},{"id":"4","province":"湖北"},{"id":"5","province":"江西"}]
# 根据指定列表中的ID顺序,对当前列表进行排序
curList = sorted(curList,key = lambda item:sortList.index(item["id"]))
print(curList)
# [{"id":"4","province":"湖北"},{"id":"3","province":"湖南"},{"id":"5","province":"江西"},{"id":"2","province":"河北"},{"id":"1","province":"河南"}]
以上就是Python常见排序操作示例【字典、列表、指定元素等】的详细内容,更多关于Python排序的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









