Python sorted函数详解(高级篇)

Pythonsorted函数详解(高级篇)

Python中的sorted()函数是一种高级排序函数,它可以对列表、元组、字典等数据类型进行排序。本攻略将详细讲解sorted()的用法,包括基本用法、高级用法、自定义排序等。

基本用法

我们可以使用sorted()函数对列表进行排序。以下是示例代码,演示如何使用sorted()函数对列表进行排序:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
lst1 = sorted(lst)
print(lst1)

在上面的示例代码中,我们首先定义了包含11个整数的列表lst。然后,我们使用sorted()函数对lst进行排序,并将结果存储在lst1中。最后,我们输出lst1的内容。

输出结果为:

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

高级用法

按关键字排序

我们可以使用key参数指定一个函数来生成排序关键字。以下是示例代码,演示如何按照关键字:

lst = ['apple', 'banana', 'orange', 'watermelon']
lst1 = sorted(lst, key=len)
print(lst1)

在上面的示例代码中我们首先定义了一个包含四个字符串的列表lst。然后我们使用key参数指定len函数作为排序关键字,对lst进行排序,并将结果存储在lst1中。最后,我们输出lst1的内容。

输出结果为:

['apple', 'banana', 'orange', 'watermelon']

按照多个关键字排序

我们可以使用多个关键字对列表进行排序。以下是示例代码,演示如何按照多个键字排序:

lst = [('apple', 3), ('banana', 2), ('orange', 4), ('watermelon', 1)]
lst1 = sorted(lst, key=lambda x: (x[1], x[0]))
print(lst1)

在面的示例代码中,我们首先定义了包含四个元组的列表lst,每个元组包含一个字符串和一个整数。然后,我们使用lambda函数作为排序关键字,对lst进行排序,首先按照第二个元素排序,然后按照第一个元素排序,并将结果存储在lst1中。最后,我们输出lst1的内容。

输出结果为:

[('watermelon', 1), ('banana', 2), ('apple', 3), ('orange', 4)]

自定义排序

我们可以使用cmp参数指定一个函数来进行自定义排序。以下是示例代码,演示如何进行自定义排序:

def cmp, y):
    if x[1] < y[1]:
        return -1
    elif x[1] > y[1]:
        return 1
    else:
        return 0

lst = [('apple', 3), ('banana', 2), ('orange', 4), ('watermelon', 1)]
lst1 = sorted(lst, cmp=cmp)
print(lst1)

在上面的示例代码中,我们首先定义了一个自定义排序函数cmp,该函数接受两个参数x和y如果x的第二个元素小于y的第二个元素,则返回-1,如果x的第二个元素大于y的第二个元素,则返回1,否则返回0。然后,我们定义一个包含四个元组的列表lst,每个元组包含一个字符串和一个整数。接着,我们使用cmp参数指定cmp函数作为排序函数,对lst进行排序将结果存储在lst1中。最后,我们输出lst1的内容。

输出结果为:

[('watermelon', 1), ('banana', 2), ('apple', 3), ('orange', 4)]

示例

以下是一个示例代码,演示了sorted()函数的基本用法、高级用法和自定义排序:

# 基用法
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 51 = sorted(lst)
print(lst1)

# 高级用法
lst = ['apple', 'banana', 'orange', 'watermelon']
lst1 = sorted(lst, key=len)
print(lst1)

lst = [('apple', 3), ('banana', 2), ('orange', 4), ('watermelon', 1)]
lst1 = sorted(lst, key=lambda x: (x[1], x[0]))
print(lst1)

# 自定义排序
def cmp(x, y):
    if x[1] y[1]:
        return -1
    elif x[1] > y[1]:
        return 1
    else:
        return 0

lst = [('apple', 3), ('banana', 2), ('orange', 4), ('watermelon', 1)]
lst1 = sorted(lst, cmp=cmp)
print(lst1)

在上面的示例代码中,我们演示了sorted()函数的基本用法、高级用法和自定义排序。首先,我们演了如何对列表进行排序。接着,我们演示了如何按照关键字排序和按照多个关键字排序。最后,我们演示了如何进行自定义排序。需要根据具体的需求选择合适的排序方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python sorted函数详解(高级篇) - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python实现随机划分图片数据集的示例代码

    下面是Python实现随机划分图片数据集的完整攻略。 1. 问题背景 在机器学习领域中,将数据集按照一定的比例划分为训练集、验证集和测试集是一项基础任务。 数据集的划分对模型训练和评估的结果都有着至关重要的影响,因此我们需要仔细地进行划分。 在本次攻略中,我们将采用Python语言实现对图片数据集的随机划分,并且按照规定的比例划分为训练集和验证集,代码也可以…

    python 2023年6月3日
    00
  • python 批量重命名移动文件

    下面是关于Python批量重命名和移动文件的完整攻略。 1. 需要导入的库 首先,我们需要导入相关的Python库,包括os和shutil,这两个库都是Python内置的标准库。其中,os库提供了许多与文件和目录相关的操作,shutil库则提供了更高级的文件操作方法。 import os import shutil 2. 获取当前目录下所有文件名 接下来,我…

    python 2023年6月5日
    00
  • MacOS安装python报错”zsh: command not found:python”的解决方法

    在MacOS系统中,有时候我们会在终端中输入python命令时出现“zsh: command not found: python”的错误。这通常是由于Python未正确安装或未正确配置环境变量起的。本攻略将提供解决此问题的完整攻略,并提供两个示例。 解决方法 以下是解决“z: command not found: python”错误的方法: 检查Python…

    python 2023年5月13日
    00
  • Python 2.7 BeautifulSoup4 返回一个空集

    【问题标题】:Python 2.7 BeautifulSoup4 is returning an empty setPython 2.7 BeautifulSoup4 返回一个空集 【发布时间】:2023-04-01 11:16:01 【问题描述】: 我正在尝试使用 bs4 从谷歌搜索中获取链接,但我的代码返回一个空集。 import requests fr…

    Python开发 2023年4月8日
    00
  • python通过百度地图API获取某地址的经纬度详解

    下面是“python通过百度地图API获取某地址的经纬度”的完整攻略: 1. 准备工作 在开始之前,需要确保你已经注册了百度地图开发者账号,并创建了自己的应用,并且申请到了相应的AK(Access Key)。没有的话可以通过官方网站注册。 2. 代码实现 2.1 安装依赖库 通过pip安装依赖库requests和json。 pip install reque…

    python 2023年6月3日
    00
  • 10 个Python中Pip的使用技巧分享

    10 个Python中Pip的使用技巧分享 1. 安装包 在Python中使用Pip安装包非常简单。可以使用以下命令安装包: pip install <package_name> 例如,要安装pandas包,可以使用以下命令: pip install pandas 2. 卸载包 如果要卸载安装的包,可以使用以下命令: pip uninstall …

    python 2023年5月14日
    00
  • Python自动化之批量处理工作簿和工作表

    下面是详细的讲解。 Python自动化之批量处理工作簿和工作表 在日常办公中,Excel是我们经常使用的办公软件之一。然而,有些时候需要对多个工作簿或工作表进行批量处理,手动操作则会很费时费力。这时候,Python的自动化处理能力就派上了用场。接下来将介绍如何使用Python对Excel进行批量处理的实例教程。 1.准备工作 首先,需要安装两个开源库:ope…

    python 2023年5月13日
    00
  • Python 高级变量之字典和字符串详解

    Python 高级变量之字典和字符串详解 一、字典的基本概念和使用 1.1 什么是字典? 在 Python 中,字典是一种无序、可变、键-值对(key-value pair)的数据类型。字典中的键必须是不可变的,如字符串、数字等;而值可以是任意数据类型,如整数、浮点数、列表、元组、字典等。 1.2 字典的创建 可以通过以下方式创建空字典: dict1 = {…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部