内置函数max()
有助于 返回给定可迭代表中最大的元素。也可以在两个或多个参数之间找到最大的元素。
# to find the largest item in an iterable
**max(iterable, *iterables, key, default)**
# to find the largest item between two or more objects
**max(arg1, arg2, *args, key)**
带有 iterable 的max()
函数具有以下参数。
*最大值(可重复,可重复,键,默认)**
参数 | 描述 | 必需/可选 |
---|---|---|
可迭代的 | 诸如列表、元组、集合、字典等可条目。 | 需要 |
*可重复 | 任意数量的可滴定物;可以不止一个 | 可选择的 |
键 | 传递数据项并进行比较的一种关键功能 | 可选择的 |
系统默认值 | 如果给定的 iterable 为空,则为默认值 | 可选择的 |
不带iterable()
的iterable()
函数有以下参数。
*最大值(arg1、arg2、args、键)**
参数 | 描述 | 必需/可选 |
---|---|---|
arg1 | 一个对象;可以是数字、字符串等 | 需要 |
arg2 | 一个对象;可以是数字、字符串等 | 需要 |
*参数 | 任意数量的对象 | 可选择的 |
键 | 传递每个参数并进行比较的一个关键函数 | 可选择的 |
在传递空迭代器的情况下,它会引发 ValueError 异常。为了避免这种情况,我们可以传递默认参数。
如果我们传递多个迭代器,那么从给定的迭代器中返回最大的项。
| 投入 | 返回值 |
| 整数 | 最大整数 |
| 线 | 具有最大 Unicode 值的字符 |
number = [13, 2, 8, 5, 10, 26]
largest_number = max(number);
print("The largest number is:", largest_number)
输出:
The largest number is: 26
languages = ["Python", "C Programming", "Java", "JavaScript"]
largest_string = max(languages);
print("The largest string is:", largest_string)
输出:
The largest string is: Python
square = {2: 4, -3: 9, -1: 1, -2: 4}
# the largest key
key1 = max(square)
print("The largest key:", key1) # 2
# the key whose value is the largest
key2 = max(square, key = lambda k: square[k])
print("The key with the largest value:", key2) # -3
# getting the largest value
print("The largest value:", square[key2]) # 9
输出:
The largest key: 2
The key with the largest value: -3
The largest value: 9
result = max(4, -5, 23, 5)
print("The maximum number is:", result)
输出:
The maximum number is: 23
class Data:
id = 0
def __init__(self, i):
self.id = i
def __str__(self):
return 'Data[%s]' % self.id
def get_data_id(data):
return data.id
# max() with objects and key argument
list_objects = [Data(1), Data(2), Data(-10)]
print(max(list_objects, key=get_data_id))
输出:
Data[2]