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的简洁之美!

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码的大学生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值