4

我正在阅读期望输出是获取具有最小值的元素的问题

因此,如果

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

答案是一个

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

谁能解释这是如何工作的

4

1 回答 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'

key参数min指定要在哪个键上找到最小值。

例如:

>>> 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
于 2013-02-20T09:15:16.040 回答