python的min函数是如何工作的

4 投票
1 回答
4464 浏览
提问于 2025-04-17 16:28

我在看一个问题,想要得到最小值的元素。

所以如果是

d= {'a':2,'b':3,'f':5}

答案是a。

给出的答案是 min(d, key=d.get)

有人能解释一下这是怎么回事吗?

1 个回答

4

min 函数可以找出一个可迭代对象中最小的值,具体是根据你给定的条件来找。在这个例子中,它会返回字典 d 中,值最小的那个键。d.get 让你可以获取和字典键对应的值,当你遍历 d 的时候,这些键会被一个一个地访问。

举个例子:

>>> min([3, 5, 2, 1, 5])
1
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for i in d:
...     print i
b
c
a
>>> d.get('b')
2
>>> d.get('d')  # Nothing is returned
>>> min(d, key=d.get)
'a'

min 函数的 key 参数用来指定你想要找哪个键的最小值。

再举个例子:

>>> min(['243', '172344', '6'])
172344
>>> min(['243', '172344', '6'], key=len)
6

min 函数的工作原理大致是这样的:

>>> min(['243', '172344', '6'], key=len)
# sort the list with key (call `len` on every element and sort based on that)
# sorted(['243', '172344', '6'], key=len)
# return the first element (lowest value)
# sorted(['243', '172344', '6'], key=len)[0]
6

撰写回答