max和min函数如何工作?

时间:2015-01-11 08:21:21

标签: python python-2.7

我在词典下面:

d = {1: 'zz', 2: 'we', 'as': 'dfda', 'x': 'zyz'}

maxmin返回以下内容:

max(d)
'x'

min(d)
1

在这种情况下maxmin如何真正起作用?

2 个答案:

答案 0 :(得分:1)

maxmin处理iterables。如果您尝试将字典转换为可迭代字体,则会返回其键。因此,max(d)max(1,2,'as','x')有点相同。关于各种内置类型here的排序有一些细节。例如,1< "a"True。这用于查找列表的最大值。同样适用于min。作为一个注释,我不建议在生产代码中做这样的事情。

答案 1 :(得分:1)

minmax函数,当应用于字典时,它们可以处理字典的键。

在您的情况下,他们必须处理

[1, 2, 'as', 'x']

如您所见,其中存在多种类型的数据。 In Python 2.7, if the types are different, then the string value of the types are used for comparison.。引用该部分,

  

请注意,比较不同类型的对象是合法的。结果是确定性但是随意的:类型按名称排序。因此,列表总是小于字符串,字符串总是小于元组等(不应该依赖用于比较不同类型的对象的规则;它们可能在将来的语言版本中更改。)< / p>

因此,如果您实际对字典键进行排序,

>>> sorted(d)
[1, 2, 'as', 'x']

正如您现在所看到的,最小的是1,最大的是x