当前位置: 首页 > article >正文

Python的内置函数 - min()

知识点1

在 Python 中,min() 和 max() 是两个非常实用的内置函数,分别用于找出可迭代对象中的最小值和最大值。

基本语法

min(iterable, *[, key, default])
min(arg1, arg2, *args, *[, key])
  • iterable:可迭代对象,如列表list、元组tuple、字典dict、集合set等。

  • arg1, arg2, *args:多个参数,直接传入多个值进行比较。

  • key:可选参数,用于指定一个函数,该函数会在比较之前对每个元素进行处理。默认为 None,即直接比较元素本身。

  • default:可选参数,仅当 iterable 为空时返回默认值。如果未指定且 iterable为空,则会抛出 ValueError。

案例1

min() 函数在处理列表时,会逐个比较元素,找出最小值并返回。在代码中,列表 num中的最小值是1,因此输出结果为1。

案例2

min() 函数可以直接接收多个参数,并逐个比较这些参数,找出最小值并返回。在代码中,这些参数中的最小值是 1,因此输出结果为 1

案例3

解释
  1. min() 函数的作用
    • min() 函数不仅可以从单个可迭代对象(如列表、元组等)中找出最小值,还可以直接比较多个可迭代对象,找出其中的“最小”对象。

  2. 参数传递
    • 在这个例子中,min() 函数接收了三个参数,每个参数都是一个列表:

      • [1, 2, 3]

      • [4, 5, 6]

      • [7, 8, 9]

  3. 比较过程
    • 当比较多个列表时,min() 函数会从左到右逐个比较这些列表的元素,直到找到不同的元素为止。

    • 具体比较过程如下:

      • 比较第一个元素:

        • [1, 2, 3] 的第一个元素是1

        • [4, 5, 6]的第一个元素是4

        • [7, 8, 9] 的第一个元素是7

        • 因为1 < 4 < 7,所以 [1, 2, 3] 是最小的列表。

      • 由于第一个元素已经决定了结果,后续元素不再需要比较。

  4. 输出结果
    • min([1, 2, 3], [4, 5, 6], [7, 8, 9]) 返回这些列表中的“最小”列表 [1, 2, 3],因此输出结果为 [1, 2, 3]。

案例4

代码1
print(min([2, 1, 3], [1, 2, 3], [3, 2, 1]))  # 输出结果:[1, 2, 3]
解释1
  1. min() 函数的作用
    • min() 函数用于从多个可迭代对象(如列表、元组等)中找出“最小”的对象。

  2. 参数传递
    • 在这个例子中,min()函数接收了三个参数,每个参数都是一个列表:

      • [2, 1, 3]

      • [1, 2, 3]

      • [3, 2, 1]

  3. 比较过程
    • 当比较多个列表时,min() 函数会从左到右逐个比较这些列表的元素,直到找到不同的元素为止。

    • 具体比较过程如下:

      • 比较第一个元素:

        • [2, 1, 3] 的第一个元素是2

        • [1, 2, 3] 的第一个元素是 1

        • [3, 2, 1] 的第一个元素是 3

        • 因为1 < 2 < 3,所以 [1, 2, 3] 是最小的列表。

      • 由于第一个元素已经决定了结果,后续元素不再需要比较。

  4. 输出结果
    • min([2, 1, 3], [1, 2, 3], [3, 2, 1]) 返回这些列表中的“最小”列表 [1, 2, 3],因此输出结果为 [1, 2, 3]。

代码2
print(min([2, 1, 3], [1, 2, 3], [3, 2, 1], key=len))  # 输出结果:[2, 1, 3]
解释2
  1. key 参数的作用
    • key 参数用于指定一个函数,该函数会在比较之前对每个元素进行处理。

    • 在这个例子中,key=len 表示比较这些列表的长度。

  2. 参数传递
    • min() 函数接收了三个参数,每个参数都是一个列表:

      • [2, 1, 3]

      • [1, 2, 3]

      • [3, 2, 1]

  3. 比较过程
    • 使用 key=len,比较这些列表的长度:

      • [2, 1, 3] 的长度是3

      • [1, 2, 3] 的长度是3

      • [3, 2, 1] 的长度是3

    • 因为所有列表的长度都相同,所以min() 函数会返回第一个列表。

  4. 输出结果
    • min([2, 1, 3], [1, 2, 3], [3, 2, 1], key=len) 返回这些列表中的第一个列表[2, 1, 3],因此输出结果为[2, 1, 3]。

总结

  • 在没有指定 key 参数时,min() 函数会从左到右逐个比较列表的元素,直到找到不同的元素为止。

  • 在指定 key 参数时,min() 函数会先对每个列表应用 key 函数,然后比较结果,如果结果相同,则返回第一个列表。


http://www.kler.cn/a/592620.html

相关文章:

  • 英伟达“AI 超级碗”开幕
  • 事件、页面跳转、wxml语法——微信小程序学习笔记
  • 机器学习 Day08,案例实现,代码学习,数据分析基本完成
  • WPF 布局舍入(WPF 边框模糊 或 像素错位 的问题)
  • aws训练快速入门教程
  • uniapp工程中解析markdown文件
  • 【OpenCV C++】如何快速 高效的计算出图像中大于值的像素个数? 遍历比较吗? No,效率太低!那么如何更高效?
  • 设计模式之单例模式(Singleton Pattern)
  • 性能测试过程实时监控分析
  • 卷积神经网络 - 整体结构
  • WebSocket:开启实时通信的新篇章
  • OpenManus-RL 通过强化学习(RL)提升大型语言模型(LLM)代理的推理和决策能力
  • SpringCloud网关:Gateway路由配置与过滤器链
  • gitee AI使用
  • 人工智能混合编程实践:C++调用Python AgentOCR进行文本识别
  • Rust嵌入式开发之:Probe-rs工具安装
  • MySQL进阶篇-InnoDB引擎(逻辑存储结构、内存结构、磁盘结构、后台线程、事务原理、MVCC)
  • 使用springboot与vue开发头像功能
  • 优化器/模型参数/超参数
  • 【Java篇】一气化三清:类的实例化与封装的智慧之道