返回顶部
首页 > 资讯 > 后端开发 > Python >Python_sort函数结合funct
  • 864
分享到

Python_sort函数结合funct

函数Python_sortfunct 2023-01-30 23:01:53 864人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

举例如下: 1 from functools import cmp_to_key 2 persons = [ 3 { 4 'name':'zhangsan', 5 'age':20,

举例如下:

 1 from functools import cmp_to_key
 2 persons = [
 3     {
 4         'name':'zhangsan',
 5         'age':20,
 6         'grade':98
 7     },
 8     {
 9         'name':'lisi',
10         'age':18,
11         'grade': 88
12     },
13     {
14         'name':'wangwu',
15         'age':20,
16         'grade': 20
17     },
18     {
19         'name': 'yanqing',
20         'age': 15,
21         'grade': 20
22     },
23     {
24         'name': 'awu',
25         'age': 20,
26         'grade': 20
27     },
28 ]
29 
30 def cmp(a,b):
31     # 如果返回的是一个大于0的值,那么代表a>b
32     # 如果返回的是一个小于0的值,那么代表a<b
33     # 如果返回的是一个等于0的值,那么代表a=b
34     if a['grade'] > b['grade']:
35         return 1
36 
37     elif a['grade'] < b['grade']:
38         return -1
39     else:
40         if a['age'] > b['age']:
41             return 1
42         elif a['age'] < b['age']:
43             return -1
44         else:
45             if a['name'] > b['name']:
46                 return 1
47             else:
48                 return -1
49 persons.sort(key=cmp_to_key(cmp))
50 new_persons = sorted(persons,key=cmp_to_key(cmp))
51 print(persons)
52 print(new_persons)

针对sort(key=cmp_to_key(cmp))及函数cmp所产生的作用尝试分析。

如下:

Sort(*,key=None,reverse = False)

sort()接受两个只能通过关键字传递的参数(关键字参数):

key指定一个参数的函数,该函数用于从每个列表元素中提取一个比较键(例如,key=str.lower)。对列表中每个项对应的键计算一次,然后用于整个排序过程。None的默认值意味着列表项是直接排序的,不需要计算单独的键值。

 

可以使用functools.cmp_to_key()实用程序来转换2。将cmp函数样式设置为关键函数。

functools.cmp_to_keyfunc 

将旧式比较函数(old-style comparison function)转换为关键函数(key function)。使用接受关键函数的工具(如sorted()min(), max()heapq.nlargest()heapq.nsmallest(), itertools.groupby())。此函数主要用作从python 2转换的程序的转换工具,它支持使用比较函数。

比较函数是任何可调用的,它接受两个参数,对它们进行比较,并返回一个负数表示小于,零表示相等,或者一个正数表示大于。键函数是一个可调用的函数,它接受一个参数并返回另一个值作为排序键使用。

key function

关键函数或排序函数是可调用的,它返回用于排序或排序的值。例如,使用local .strxfrm()生成一个排序键,该键知道特定于区域设置的排序约定。

Python中的许多工具接受关键函数来控制元素的排序或分组方式(A number of tools in Python accept key functions to control how elements are ordered or grouped)。它们包括min()max(), sorted()list.sort()heapq.merge(), heapq.nsmallest()heapq.nlargest(),和 itertools.groupby()

有几种方法可以创建关键函数。为例。low()方法可以作为区分大小写排序的关键函数。或者,可以从一个lambda表达式构建一个关键函数,例如r:(r[0], r[2])。此外,运算符模块还提供了三个关键的函数构造函数:attrgetter()、itemgetter()和methodcaller()。

 

最后总结

# sort是对列表进行排序
# key 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序,每次排序前调用
# cmp_to_key 将比较函数转换为关键字函数
# cmp 自定义比较函数

比较函数类似于制定了比较规则。

 

--结束END--

本文标题: Python_sort函数结合funct

本文链接: https://lsjlt.com/news/180817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python_sort函数结合funct
    举例如下: 1 from functools import cmp_to_key 2 persons = [ 3 { 4 'name':'zhangsan', 5 'age':20, ...
    99+
    2023-01-30
    函数 Python_sort funct
  • DISTINCT与聚合函数的结合使用
    在SQL中,DISTINCT关键字用于返回唯一不重复的值,而聚合函数用于对数据进行统计或计算,例如SUM、COUNT、AVG等。这两者可以结合使用,以实现对唯一值进行统计或计算。 例如,可以使用DISTINCT和COUNT结合使用,以统计某...
    99+
    2024-08-03
    sql server
  • 如何用GROUP BY结合聚合函数
    要使用GROUP BY结合聚合函数,首先需要在查询中使用GROUP BY来将数据分组,然后在SELECT语句中使用聚合函数来对每个分组进行计算。例如: SELECT column1, SUM(column2) FROM table ...
    99+
    2024-08-03
    sql server
  • 聚合函数与数据可视化的结合
    聚合函数是一种用于计算数据集合中的统计信息的函数,例如平均值、总和、最大值、最小值等。数据可视化是将数据以图形的形式呈现出来,以便更直观地理解数据的分布和趋势。 结合聚合函数和数据可视化可以帮助用户更好地理解数据,并从中获取有用的信息。例如...
    99+
    2024-08-03
    sql server
  • 聚合函数与HAVING子句的结合
    在SQL中,聚合函数用于对多行数据进行计算并返回一个单一的值,例如SUM、AVG、COUNT等。而HAVING子句用于过滤由GROUP BY子句分组后的数据。 当我们想要根据聚合函数的结果来进行筛选时,可以使用HAVING子...
    99+
    2024-08-03
    sql server
  • C++ 函数重载如何与虚函数结合使用?
    函数重载和虚函数可以结合使用,允许子类在不修改父类行为的情况下,以不同方式实现相同操作的不同方面。通过在父类中声明虚函数,并在子类中重载它们,我们可以实现动态多态,允许通过父类引用调用不...
    99+
    2024-04-13
    c++ 函数重载 虚函数
  • C++ 友元函数详解:友元函数和函数指针的结合?
    将友元函数与函数指针结合将友元函数与函数指针结合使用,提供以下好处:动态绑定,允许在运行时更改友元函数的执行。泛型编程,使友元函数能够处理不同类型的对象。 C++ 友元函数详解:将友元...
    99+
    2024-04-30
    c++ 指针 友元
  • 聚合函数与条件筛选的结合技巧
    在使用聚合函数时,可以结合条件筛选来筛选需要计算的数据,以获得更精确的结果。以下是一些结合聚合函数和条件筛选的技巧: 使用IF函数进行条件筛选: 在聚合函数中,可以使用IF函数来进行条件筛选,只计算符合条件的数据。比如,计算某个字段中值...
    99+
    2024-08-03
    sql server
  • 聚合函数与临时表、表变量的结合
    聚合函数可以与临时表和表变量结合使用,以实现对数据的汇总和统计操作。临时表和表变量是存储数据的临时存储结构,可以在查询过程中进行数据操作和计算。 例如,可以使用临时表或表变量来存储需要进行汇总统计的数据,然后使用聚合函数对这些数据进行汇总计...
    99+
    2024-08-03
    sql server
  • Spring 中的数据存储技巧:结合 ASP 函数。
    Spring 是一个非常强大的开源框架,它提供了丰富的功能和工具来帮助开发者快速构建高质量的应用程序。在 Spring 中,数据存储是一个非常关键的部分,因为数据存储是应用程序的核心部分。在本文中,我们将介绍 Spring 中的数据存储技巧...
    99+
    2023-10-06
    函数 spring 存储
  • js中async函数结合promise的示例分析
    这篇文章主要为大家展示了“js中async函数结合promise的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中async函数结合promise的...
    99+
    2024-04-02
  • PHP 函数与 OOP 编程如何结合使用?
    php 函数式编程与 oop 可结合使用,通过方法调用,将函数式函数应用于 oop 类实例,结合两者的优势。例如,使用函数式函数計算字符串长度:function stringlength...
    99+
    2024-04-18
    php oop
  • 聚合函数
    Mysql 中系统提供了很多函数 Count:统计个数,次数,null不统计 Max:最大值 Min:最小值 Sum:求和 Avg:平均值 Round:四舍五入   使用聚合函数时一般都会给别名   9.6.1 count函数 ##cou...
    99+
    2019-08-30
    聚合函数
  • C++调用Python(混合编程)函数整理总结
    文章目录 C++调用python概述相关官方文档相关函数1.初始化python解释器环境2.调用python脚本的静态简单方式3.动态加载python模块并执行函数3.1不带参数和返回值的举例...
    99+
    2023-09-03
    python c++ 开发语言
  • Java数组和JavaScript函数:哪个更适合实现数据结构?
    Java和JavaScript是两种广泛使用的编程语言,它们都有自己的优点和缺点。当涉及到实现数据结构时,Java数组和JavaScript函数都可以用来解决问题。在本文中,我们将比较这两种方法,以确定哪种更适合实现数据结构。 Java数...
    99+
    2023-10-25
    数组 javascript 函数
  • 大数据处理必备!GO 函数与 NumPy 的完美结合
    随着大数据处理的需求越来越多,Go语言作为一门快速、高效的编程语言,被越来越多的开发者所青睐。但是,Go语言本身并不提供像Python中的NumPy一样的高级数学计算功能,这就需要我们使用其他的工具来进行大规模数据处理。本文将介绍如何使用G...
    99+
    2023-06-24
    函数 numy 大数据
  • Java 函数和 Linux Shell:如何将它们结合起来?
    Java 和 Linux Shell 都是非常强大的工具,它们可以为我们提供很多便利。然而,当我们需要在 Java 程序中执行一些命令行操作时,我们需要借助 Linux Shell 的帮助。那么,如何将 Java 函数和 Linux Sh...
    99+
    2023-08-10
    函数 linux shell
  • golang函数缓存与第三方存储结合实践
    函数缓存是一种优化技术,用于避免重复计算,提高性能。当缓存大小超出内存限制时,可以通过结合第三方存储来扩展缓存容量,例如使用 redis。实践中,可以将缓存大量查询结果到 redis 中...
    99+
    2024-05-05
    缓存 第三方存储 redis git golang
  • oracle 聚合函数
    oracle 常用到的聚合函数:count()计数,sum()求和,avg()求平均值,max(),求最大值,min()求最小值。where条件不能作用聚合函数,需要利用having子句...
    99+
    2024-04-02
  • 【MySQL】聚合函数
    一、五大常用聚合函数 SUM():求总和,只适用于数值类型字段,如果是字符串类型不会报错会返回0,会自动过滤空值AVG():求平均值,只适用于数值类型字段,字符串类型不会报错会返回0,会自动过滤空值M...
    99+
    2023-08-31
    mysql java 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作