#max(list) 用于返回列表元素中的最大值
当列表中种的元素都是字符串时,则比较第一个字符的ASCLL码
当列表中的元素都是数字的时候,则比较数字大小
当列表中的元素都是元组的时候,则会按照元素里面元组的第一个元素的排列顺序,输出最大值,如果第一个元素相同,则会比较第二个元素
如果列表中的元素类型不同,则无法比较
列表中的元素为字典时也无法比较
原理:
lst = [1,3,5,2,8,6]
ma = lst[0] # 假设第0项就是最大值
mi = lst[0]
for el in lst:
if el > ma:
ma = el
if el < mi:
mi = el
print("最小值为: %d" % mi)
print("最大值为: %d" % ma)
#比较字符串
list1 = ["我想","喜欢",'你呀']
print("我想的地址是",id("我想"))
print("喜欢的地址是",id('喜欢'))
print("你呀的地址是",id("你呀"))
#ord函数返回对应的ASCII码或者是Unicode码
print(ord('我'))
print(ord('喜'))
print(ord('你'))
print(max(list1))
list2 = ['我','喜','欢','你']
print(max(list2))
list3 = ['我','爱','python']
print(max(list3))
输出结果是
我想的地址是 1565506026160
喜欢的地址是 1565506025968
你呀的地址是 1565506026448
25105
21916
20320
我想
欢
爱
#比较混合类型
list4 = [1,{0:123,1:894}]
print(max(list4))
TypeError: '>' not supported between instances of 'dict' and 'int'
这里会出现错误,意思就是字典和整数数据无法比较
#比较元组
a=[('a',1),('A',1)]
print(ord('a'))
print(ord('A'))
print(max(a))
结果输出:
97
65
(‘a’, 1)
#比较字典
list5 = [{1:100,2:300}]
print(max(list5))
list4 = [{1:100,2:300},{5:800,9:500}]
print(max(list4))
TypeError: '>' not supported between instances of 'dict' and 'dict'
结果输出:
{1: 100, 2: 300}
list4会进行报错
#比较列表
list6 = [[1,2,3,4],[1231,'abc']]
print(max(list6))
list6 = [[1,2,3,4],[0,'abc']]
print(max(list6))
list6 = [[1,2,3,4],['a','abc']]
print(max(list6))
#第三个list6会出现错误,因为字符串与1无法进行比较
结果输出为:
[1231, ‘abc’]
[1, 2, 3, 4]
min函数与此大致相同