📅  最后修改于: 2023-12-03 15:37:37.576000             🧑  作者: Mango
min()
和max()
min()
和max()
是Python内建函数,分别用于取得列表或元组中的最小值和最大值。它们都支持任何可迭代的对象(如列表、元组、字符串、字典、集合等),并且都可以接收一个key参数,用于自定义比较函数。
min()
min()
函数可以接受任意数量的参数,并返回它们中的最小值。例如:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print(min(numbers)) # 1
words = ['apple', 'banana', 'cherry', 'durian']
print(min(words, key=len)) # apple
在第二个例子中,我们使用了key
参数来指定比较函数,告诉min()
函数在比较字符串时应该使用长度而不是默认的字典序。
min()
也可以用于获取字典中最小(或最大)的键值对:
d = {'apple': 3, 'banana': 1, 'cherry': 4}
print(min(d.items(), key=lambda x: x[1])) # ('banana', 1)
在这个例子中,我们使用了一个lambda表达式来告诉min()
函数,我们想要通过value值来比较字典项。
max()
max()
和min()
的使用方法基本相同,只不过是返回最大值而不是最小值。例如:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print(max(numbers)) # 9
words = ['apple', 'banana', 'cherry', 'durian']
print(max(words, key=len)) # cherry
同样,max()
也支持字典的使用:
d = {'apple': 3, 'banana': 1, 'cherry': 4}
print(max(d.items(), key=lambda x: x[1])) # ('cherry', 4)
min()
和max()
是常用的Python函数,它们能够方便地获取列表、元组、字典等可迭代对象中的最小值和最大值。通过key参数,我们还可以自定义比较函数,从而实现更为灵活的比较。
值得注意的是,如果我们要获取字符串中最大(或最小)的字母,可以使用ord()
函数将字母转换为对应的数值,例如ord('a') == 97
。这样就可以在比较字符串时,按照ASCII码进行比较。