2024-04-29 06:23:40 发布
网友
Heroes =['Superman','Batman','Dudley Do-Right','Luke Skywalker'] max(Heroes) 'Superman'
有人能解释一下为什么上面的结果是“超人”而不是“达德利做对了”?你知道吗
len(Heroes[0])是8
len(Heroes[0])
len(Heroes[2])是15
len(Heroes[2])
我很困惑。你知道吗
字符串是按字典顺序进行比较的,而不是按长度。S在字母表中位于D之后:
S
D
>>> 'Superman' > 'Dudley Do-Right' True
复制max()功能的一种低效方法是对输入序列进行排序,然后为结果选取最后一个值。所以[20, 10, 8, 15],排序时,把20放在最后,这就是max()返回的结果。对Heroes中的字符串进行排序会导致Superman列在最后。你知道吗
max()
[20, 10, 8, 15]
20
Heroes
Superman
如果要查找最长的字符串,请使用^{} argument to ^{}:
max(Heroes, key=len)
这里,不是直接比较Heroes中的值,max()通过key参数的返回值来比较值;现在len()返回最大值的值作为最大值返回。你知道吗
key
len()
演示:
>>> Heroes = ['Superman', 'Batman', 'Dudley Do-Right', 'Luke Skywalker'] >>> max(Heroes, key=len) 'Dudley Do-Right'
字符串是按字典顺序进行比较的,而不是按长度。
S
在字母表中位于D
之后:复制
max()
功能的一种低效方法是对输入序列进行排序,然后为结果选取最后一个值。所以[20, 10, 8, 15]
,排序时,把20
放在最后,这就是max()
返回的结果。对Heroes
中的字符串进行排序会导致Superman
列在最后。你知道吗如果要查找最长的字符串,请使用^{} argument to ^{} :
这里,不是直接比较
Heroes
中的值,max()
通过key
参数的返回值来比较值;现在len()
返回最大值的值作为最大值返回。你知道吗演示:
相关问题 更多 >
编程相关推荐