10个一行Python代码:利用sort()函数进行高效排序
今天我们要玩点有趣的——用一行代码来展示sort()函数的超级能力!通常,排序算法可能让你觉得是编程中的“重量级选手”,但有了Python的sort(),一切都变得轻而易举,甚至可以做到优雅至极。下面是十个让人拍案叫绝的一行代码示例,保证让你在朋友面前成为排序小能手!
示例1:基本排序,从简入繁
numbers = [3, 1, 4, 1, 5, 9, 2, 6]; numbers.sort(); print(numbers)
这行代码就像变魔术,sort()直接在原列表上操作,将数字按升序排列,简单又高效!
示例2:降序也轻松
numbers.sort(reverse=True); print(numbers)
加个reverse=True,瞬间反转乾坤,从大到小,就这么简单!
示例3:列表中字符串排序
words = ["banana", "apple", "cherry"]; words.sort(); print(words)
不仅仅是数字,字符串也能轻松排序,按字母顺序来一场水果派对
示例4:忽略大小写排序字符串
words = ["Banana", "apple", "Cherry"]; words.sort(key=str.lower); print(words)
使用key=str.lower,大小写不再是障碍,所有单词平等对待!
示例5:复杂对象排序,按属性来
class Fruit:
def __init__(self, name, sweetness):
self.name = name
self.sweetness = sweetness
fruits = [Fruit('apple', 7), Fruit('banana', 20)]; sorted_fruits = sorted(fruits, key=lambda x: x.sweetness); print([fruit.name for fruit in sorted_fruits])
示例6:自定义排序规则
nums = [10, 2, 33, 1]; nums.sort(key=lambda x: -x); print(nums)
负号前缀,让排序规则由升序变为降序,灵活控制,随心所欲!
示例7:多级排序
students = [('Alice', 85), ('Bob', 92), ('Charlie', 78), ('Alice', 90)]; students.sort(key=lambda x: (x[0], -x[1])); print(students)
示例8:列表嵌套列表排序
nested = [[3, 2], [1, 5], [2, 1]]; nested.sort(key=lambda x: x[1]); print(nested)
面对列表中的列表,指定内层的哪个元素来排序,一招制胜!
示例9:组合多个条件排序
items = [("apple", 3), ("banana", 2), ("orange", 3, 50), ("pear", 1, 30)]; items.sort(key=lambda x: (x[1], -x[2] if len(x) > 2 else 0)); print(items)
混合使用多个排序条件,甚至处理不规则数据,sort()也能从容应对!
示例10:排序与lambda的终极结合
data = [{"name": "John", "age": 30}, {"name": "Alex", "age": 25}]; data.sort(key=lambda x: x['age']); print([person['name'] for person in data])
处理字典列表,根据年龄排序,提取名字列表,一行代码解决复杂问题,lambda的简洁之美!
10个一行Python代码:利用sort()函数进行高效排序的更多相关文章
- 一行python代码实现树结构
树结构是一种抽象数据类型,在计算机科学领域有着非常广泛的应用.一颗树可以简单的表示为根, 左子树, 右子树. 而左子树和右子树又可以有自己的子树.这似乎是一种比较复杂的数据结构,那么真的能像我们在标题 ...
- 教你用一行Python代码实现并行(转)
教你用一行Python代码实现并行 本文教你通过一行Python实现并行化. Python在程序并行化方面多少有些声名狼藉.撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题. ...
- 有趣的一行 Python 代码
https://mp.weixin.qq.com/s/o9rm4tKsJeEWyqQDgVEQiQ https://mp.weixin.qq.com/s/G5F_GaUGI0w-kugOZX145g ...
- 用一行Python代码制作动态二维码
在GitHub上发现了一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. GitHub网站参见:https://github.c ...
- 一行Python代码画心型
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yanlaifan/article/deta ...
- vscode设置python代码补全时函数自动加上小括号
vscode设置python代码补全时函数自动加上小括号 vscode的python代码补全插件默认安装时是不会自动补全括号的,感觉不是和方便 以下介绍下自动补上小括号的方法 可能部分同学设置了还是没 ...
- 一行python代码搞定文件分享
给同事分享文件,如你所知通过聊天工具,网盘或linux命令各种方法,还有一个也可以尝试下:使用一行python代码快速搭建一个http服务器在局域网内进行下载. python3使用: python3 ...
- 忘带U盘了??别急!一行python代码即可搞定文件传输
近日发现了python一个很有趣的功能,今天在这里给大伙儿做一下分享 需求前提 1.想要拷贝电脑的文件到另一台电脑但是又没有U盘2.手机上想获取到存储在电脑的文件3.忘带U盘- 您也太丢三落四了吧,但 ...
- Python之利用reduce函数求序列的最值及排序
在一般将Python的reduce函数的例子中,通常都是拿列表求和来作为例子.那么,是否还有其他例子呢? 本次分享将讲述如何利用Python中的reduce函数对序列求最值以及排序. 我们用r ...
- python代码规范以及函数注释规范
摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见PEP7.本文和PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...
随机推荐
- 证明: 设n阶方阵A相似于对角阵Λ, λ是A的k重特征值, 则r(λE-A)=n-k.
命题: 设n阶方阵A相似于对角阵Λ, λ是A的k重特征值, 则r(λE-A)=n-k.证明: 由定理3.9: A~Λ <=> A有n个线性无关的特征向量, 知k重特征值λ存在k个线性无关的 ...
- Apache SeaTunnel 4月回顾:明星贡献者与技术突破
各位热爱 SeaTunnel 的小伙伴们,SeaTunnel 社区 4 月份月报来啦!这里将记录 SeaTunnel 社区每月的重要更新,欢迎关注! 月度 Merge 之星 感谢以下小伙伴 4 月为 ...
- 教程 | 使用 Apache SeaTunnel 同步本地文件到阿里云 OSS
一直以来,大数据量一直是爆炸性增长,每天几十 TB 的数据增量已经非常常见,但云存储相对来说还是不便宜的.众多云上的大数据用户特别希望可以非常简单快速的将文件移动到更实惠的 S3.OSS 上进行保存, ...
- Camera | 4.瑞芯微平台MIPI摄像头应用程序编写
前面3篇我们讲解了camera的基础概念,MIPI协议,CSI2,常用命令等,本文带领大家入门,如何用c语言编写应用程序来操作摄像头. Linux下摄像头驱动都是基于v4l2架构,要基于该架构编写摄像 ...
- 不是 PHP 不行了,而是 MySQL 数据库扛不住啊
大家好,我是码农先森. 大多数的业务场景下 PHP 还没有达到性能瓶颈,然而 MySQL 数据库就先行驾崩了.但我们总是不分青红皂白,一股脑的把原因归结于是 PHP 语言不行了,每当遇到这种情形我就会 ...
- windows编程中文件操作的几种方法,C,C++,MFC,Win32sdk
windows编程中文件操作的几种方法 windows编程中文件操作有以下几种常见方法: 1.C语言中文件操作.2.C++语言中的文件操作.3.Win32 API函数文件操作.4.MFC CFile类 ...
- Win32 SDK 下的TreeCtrl控件的封装
自己照着MFC封装,半月前封装了一半,碰到问题就放下了,今天终于封装好了. [Ctree.h]文件 #pragma once #include <windows.h> #include & ...
- Windows 设置 FRP 自动启动
由于 frps/frpc 不是 Windows 服务应用程序,因此我们不能直接使用 New-Service 命令创建 frps/frpc 服务.我们可以使用下面的方法将 frps/frpc 封装为 W ...
- 最常用集合 - arraylist详解
ArrayList介绍 ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现.除该类未实现同步外,其余跟Vector大致相同.每 ...
- Docker高级:Redis集群实战!4主4从缩容到3主3从,怎么处理?
在上一篇,我们学会了redis集群的扩容.从3主3从扩容到4主4从. 那么,接着,活动过去了.流量没有那么大了.需要缩容了.从4主4从缩容到3主3从了.那么这个时候又该怎么处理呢? PS本系列:< ...