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 ...
随机推荐
- 【转载】 tensorflow变量默认是如何进行初始化的?
版权声明:本文为CSDN博主「TahoeWang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/sinat_3 ...
- P2P下载为什么不流行了——在线视频与P2P下载的一些比较
平时习惯性发呆,这两天发呆想到了这么一个问题,那就是"P2P下载为什么不流行了--在线视频与P2P下载的比较".想到这个问题其实还是与自己的一些个人经历有关,在14年前读大学的时候 ...
- Linux的命令合集
Linux常用的命令 这里分享一个博客,里面有很丰富的Linux的常用指令. https://blog.csdn.net/qq_23329167/article/details/83856430. 然 ...
- git忽略文件夹中除了指定的文件外的其他所有文件
**/test/* !**/test/a.py
- programmers model
Handler模式一直使用MSP,所以在handler模式下处理器会忽略SPSEL位:异常进入及返回机制会更新CONTROL寄存器. 在操作系统的环境中,推荐线程在Thread模式下运行使用PSP,内 ...
- 【CMake系列】11-CMake Pack
cmake pack 用于将我们的写好的项目 打包,发送给使用方:打包后产生的内容有 源代码包 二进制包 平台原生的二进制安装 Debian -> .deb red hat -> .rpm ...
- 全志TinyVision芯片文章汇总
全志TinyVision芯片 TinyVision开发交流QQ群:821628986 文章目录汇总 教程共计14章,下面是章节汇总: 第0章_TinyVision套件简述 第1章_源码工具文档手册 第 ...
- P10884 [COCI 2017-2018#2] San
题目传送门:P10884 [COCI 2017-2018#2] San 看下标签 COCI(克罗地亚) 2017 啊 比我小4年的题 --------------------------------- ...
- 全网最适合入门的面向对象编程教程:39 Python常用复合数据类型-集合
全网最适合入门的面向对象编程教程:39 Python 常用复合数据类型-集合 摘要: 在 Python 中,集合(set)是一种常用的复合数据类型.集合是一组无序且不重复的元素.与列表和元组不同,集合 ...
- canfestival源码下载教程
先进入官网的这个页面 https://canfestival.org/code.html.en 点击箭头所指的地方 选择日期最新的点击下载