numpy数组中max和min函数的意外结果

时间:2014-01-29 22:17:45

标签: python arrays numpy

我遇到numpy arrays的麻烦,我不知道这是不是我的电脑(我遇到了一些问题)或其他问题。 在我介绍以下内容时,我会得到意想不到的结果:

import numpy as np
names=np.array(['jungle', 'mountain', 'sea', 'lake', 'forest', 'desert', 'house',
 'city', 'mountain'], dtype='<U20')
max(names)
'sea'
min(names)
'city'

应该是“山”的最大值和“海”的最小值 任何人都可以重现这个吗?或者是我的电脑:(

1 个答案:

答案 0 :(得分:1)

字符串按每个字母的代码点进行比较(从第一个字母开始,直到有差异):

>>> "AAAAA" < "B"
True
>>> "a" > "A"
True

如果您想按长度进行比较而不是区分大小写的“词典”顺序,请使用key=len作为第二个参数:

max(names, key=len)