今天我们要玩点有趣的——用一行代码来展示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()函数进行高效排序的更多相关文章

  1. 一行python代码实现树结构

    树结构是一种抽象数据类型,在计算机科学领域有着非常广泛的应用.一颗树可以简单的表示为根, 左子树, 右子树. 而左子树和右子树又可以有自己的子树.这似乎是一种比较复杂的数据结构,那么真的能像我们在标题 ...

  2. 教你用一行Python代码实现并行(转)

    教你用一行Python代码实现并行 本文教你通过一行Python实现并行化. Python在程序并行化方面多少有些声名狼藉.撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题. ...

  3. 有趣的一行 Python 代码

    https://mp.weixin.qq.com/s/o9rm4tKsJeEWyqQDgVEQiQ https://mp.weixin.qq.com/s/G5F_GaUGI0w-kugOZX145g ...

  4. 用一行Python代码制作动态二维码

    在GitHub上发现了一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. GitHub网站参见:https://github.c ...

  5. 一行Python代码画心型

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yanlaifan/article/deta ...

  6. vscode设置python代码补全时函数自动加上小括号

    vscode设置python代码补全时函数自动加上小括号 vscode的python代码补全插件默认安装时是不会自动补全括号的,感觉不是和方便 以下介绍下自动补上小括号的方法 可能部分同学设置了还是没 ...

  7. 一行python代码搞定文件分享

    给同事分享文件,如你所知通过聊天工具,网盘或linux命令各种方法,还有一个也可以尝试下:使用一行python代码快速搭建一个http服务器在局域网内进行下载. python3使用: python3 ...

  8. 忘带U盘了??别急!一行python代码即可搞定文件传输

    近日发现了python一个很有趣的功能,今天在这里给大伙儿做一下分享 需求前提 1.想要拷贝电脑的文件到另一台电脑但是又没有U盘2.手机上想获取到存储在电脑的文件3.忘带U盘- 您也太丢三落四了吧,但 ...

  9. Python之利用reduce函数求序列的最值及排序

    在一般将Python的reduce函数的例子中,通常都是拿列表求和来作为例子.那么,是否还有其他例子呢?   本次分享将讲述如何利用Python中的reduce函数对序列求最值以及排序.   我们用r ...

  10. python代码规范以及函数注释规范

    摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见​PEP7.本文和​PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...

随机推荐

  1. 【转载】 Makefile的静态模式%.o : %.c

    版权声明:本文为CSDN博主「猪哥-嵌入式」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/u012351051 ...

  2. Java项目生产启动、关闭脚本

    1.直接启动 #!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=XXXX-api-1.0.jar #使用说明,用来提示输入参数 usage() { echo ...

  3. Sentry 产品指南文档(附:详细脑图整理)

    Sentry 基础知识 https://docs.sentry.io/product/ https://docs.sentry.io/product/sentry-basics/ 问题 https:/ ...

  4. Go 接收命令行参数

    在 Go 语言中,可以使用标准库中的 os 包和 flag 包来接收和处理命令行参数. 使用 os 包 os.Args 是一个字符串切片,其中第一个元素是程序的名称,后续元素是传递给程序的命令行参数. ...

  5. uni-app 商场样式

    基于ColorUI-UniApp css样式开发的商城基础模 模板基础功能实现 1.首页今日推荐 点击 会商品加一 2.分类 页面 左右列表联动 3.购物车 商品加减 4.我的 订单管理  账号密码登 ...

  6. how to create rpm

    RPM Spec 中各个字段的 pre, post, preun, postun 的用法 https://www.golinuxhub.com/2018/05/how-to-execute-scrip ...

  7. node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found问题解决方案

    场景 centos7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题. npm -v node: /lib64/libm.so.6: version `GLIBC_2. ...

  8. 动态规划——详解leetcode518 零钱兑换 II

    动态规划 零钱兑换 II 参考书目:<程序员代码面试指南:IT名企算法与数据结构题目最优解> 给定不同面额的硬币和一个总金额.写出函数来计算可以凑成总金额的硬币组合数.假设每一种面额的硬币 ...

  9. SpringBoot 基于注解实现接口的代理Bean注入

    SpringBoot 基于注解实现接口的代理Bean注入 在springboot加载时需自己手动将接口的代理bean注入到spring容器中,这样在service层注入该接口类型即可, 1.在Spri ...

  10. JS 希尔排序完全理解

    希尔排序的思想直白点来说就是间隔对比,比如说 我有一个数组,长度为9,则第一次分割间隔为长度的1/3 + 1,则第一次对比就是1 比 4,2 比 5, 3 比 6,4 比 7,5 比 8 , 6 比 ...