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 函数,然后比较结果,如果结果相同,则返回第一个列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

HaoChen/ChenHao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值