这是有问题的代码:
my_list = ['apples', 'oranges', 'cherries', 'banana']
print(max(my_list)
为什么它打印“橙色”而不是“樱桃”?
字符串按字典顺序相对于彼此排序。 o
在a
,b
和c
之后。除非到那时为止字符串是相同的,否则长度不是一个因素,在这种情况下,较短的字符串将被判断为“较少”。然后,max()
产生词典上最大的字符串(即字典中最远的字符串)。
如果要按长度排序,则必须给max()
函数一个键(例如len()
函数):
>>> my_list = ['apples', 'oranges', 'cherries', 'banana']
>>> print(max(my_list))
oranges
>>> print(max(my_list, key=len))
cherries