Python3.7中min()和max()实际上是如何推算的?
问题描述:
tup4 =('3','133','1.43','-10','-1.5')
tup5 =(3,133,1.43,-10,-1.5)
print(min(tup4),min(tup5),max(tup4),max(tup5))
输出结果为-1.5 -10 3 133,为什么不是-10 -10 133 133?
答
tup4是的值是字符串,是按照ASCII码来排序的, - 号在 . 号前面,在数字前面
答
你tup4是的值是字符串,按字符串进行比较
答
tup4 =('3','133','1.43','-10','-1.5')
tup5 =(3,133,1.43,-10,-1.5)
# max与min函数可以接收一个key参数(函数)
max(tup4, key=lambda x:float(x)) # '133'
min(tup4, key=lambda x:float(x)) # '-10'
# 同样sorted或者sort也可以接受一个key参数
sorted(tup4, key=lambda x:float(x))[0] # '133'
sorted(tup4, key=lambda x:float(x))[-1] # '-10'