python sorted排序小结
转载至:
https://blog.csdn.net/ray_up/article/details/42084863
在python中排序有两个专用函数,一个是sort,另一个sorted。其中sort
是列表专用排序函数,sorted
是所有可迭代对象都能使用的排序函数。
1|0列表排序
1|1按照字母排序
结果:
['USA', 'Russia', 'China', 'Canada']
1|2嵌套列表的排序, 按照子列表的其他值排序, 修改x[0] 这里的下标即可
结果:
[['USA', 'b'], ['Russia', 'a'], ['China', 'c'], ['Canada', 'd']]
1|3嵌套字典, 按照字典值(value) 排序
结果:
[{'letter': 'd'}, {'letter': 'c'}, {'letter': 'b'}, {'letter': 'a'}]
当字典值也是字典时, 这时候会优先按照键名排序, 再按照键值排序. 例子如下
结果:
[{'letter': {'a': 'd'}}, {'letter': {'a': 'c'}}, {'letter': {'a': 'b'}}, {'letter': {'a': 'a'}}]
和
结果:
[{'letter': {'d': 'a'}}, {'letter': {'c': 'd'}}, {'letter': {'b': 'c'}}, {'letter': {'a': 'b'}}]
2|0字典排序
解析: 字典排序可以有多种方法,直接对字典排序会变成对key排序,也可以将字典转化成元祖排序。
2|1使用字典直接排序
直接使用sorted对字典排序,所排序的是字典的key,输出也是排序好的key值。
结果:
['a', 'b', 'c', 'd']
2|2按照键值(value)排序
将字典转化成元祖排序。排序函数中传入的是a.items(),即元祖
结果:
2|3按照键名(key)排序
结果:
[('d', 'Canada'), ('c', 'USA'), ('b', 'Russia'), ('a', 'China')]
2|4嵌套字典, 按照字典键名(key)排序
结果:
[('d', {'a': 'Canada'}), ('a', {'b': 'China'}), ('b', {'c': 'Russia'}), ('c', {'d': 'USA'})]
2|5嵌套列表, 针对列表第一个元素排序( 其实直接写 x: x[1] 就是按照第一个值排序. )
结果:
[('b', [0, 2]), ('a', [1, 3]), ('d', [2, 1]), ('c', [3, 4])]
2|6嵌套列表, 按照列表其他元素排序 只需要修改列表对应的下标
结果:
[('d', [2, 1]), ('b', [0, 2]), ('a', [1, 3]), ('c', [3, 4])]
总结: 此处使用lambda方法, x: x[1][1] 就可以看做是在访问字典的值, 想要按照哪个数值排序, 用相应的坐标对应即可, 但当字典过于复杂后, 应该选择用元组存储, 简化排序过程.
__EOF__

本文链接:https://www.cnblogs.com/goldsunshine/p/12855560.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理