简介
在本指南中,我们将看看_如何_在 Python 中_找到_一些常见的数据结构的_最大元素_,例如 list、dictionary 和 tuple。
内置在 Python 命名空间中的max() 方法在这里对内置类型有神奇的作用。
如何获得 Python List 的最大元素
列表是Pythons的内置类型,用于在内存中的单个对象中依次存储多个引用。
与其他编程语言相比,Python 列表本质上是一个简单的数组。元素是根据它们在列表中的位置进行索引的,可以有多个具有相同值的元素。
主要的区别是,Python 中的列表可以包含不同类型的元素。它们是异质的。
# List of different type elements
example_list = ["string", 5, "five", 4, "4"]
注意:如果元素不能通过比较运算符 (<,>,==,!=) 进行比较, max() 函数将无法工作。因此,在试图找到最大的元素之前,我们要确保一个列表是同质的。
只要你能正确地比较这些元素,你就能找到最大的元素,而不考虑其类型。大多数时候,你都是在处理整数。
integer_list = [24, 9, 20, 17, 201, 16, 7]
获取列表中最大元素的最简单的方法是使用内置的max() 方法。
max_element = max(integer_list)
print("Max element of a list: ", max_element)
这段代码会有预期的输出。
Max element: 201
你也可以对字符串进行按_字母_顺序的比较,并通过max() 函数找到列表中按字母顺序_最大的字符串_。
string_list = ["string", "five", "4"]
max_element = max(string_list)
print("Max element:", max_element)
这样的结果是。
Max element: string
另一种找到列表中最大元素的方法是使用sort() 方法进行排序,然后得到排序后的列表的最后一个元素,因为sort() 方法是以升序排序的。
integer_list = [24, 9, 20, 17, 201, 16, 7]
integer_list.sort()
# myList = [7, 9, 16, 17, 20, 24, 201]
max_element = integer_list[-1]
print("Max element of a list: ", max_element)
这段代码的输出结果也将与前面的相同。
Max element of a list: 201
如果我们还想找到最大元素的索引,最简单的方法是使用内置的index() 方法。
integer_list = [24, 9, 20, 17, 201, 16, 7]
max_element = max(integer_list)
max_element_index = integer_list.index(max_element)
print("Max element of a list: ", max_element, " at index: ", max_element_index)
这将输出。
Max element of a list: 201 at index: 4
如何获得一个Python字典的最大元素
Python中的字典是用来存储_键值_对的。不允许有相同键的对,而且从 Python 3.7 开始,字典中的对被认为是有序的。
字典是用一对大括号之间的key-value 对列表定义的。
dictionary = {
"key24": 24,
"key7": 9,
"key20": 201,
"key17": 17,
"key201": 201,
}
检索字典中最大元素的值的最简单的方法也是使用内置的max() 方法,将值的列表作为参数传递。
max_element = max(dictionary.values())
print("Max element of a dict: ", max_element)
这可以归结为前面的方法,因为values() 方法返回存储在列表中的值。这将给出正确的输出。
Max element of a dict: 201
如果我们想找到第一个有最大值的元素的键,最简单的方法是使用max() 方法提供字典,并通过dictionary.get() 检索该元素。
max_val = max(dictionary.values())
max_val_key = max(dictionary, key=dictionary.get)
print("Max element of a dict:", max_val, "with the key:", max_val_key)
这将输出max元素的值和第一个匹配的键。
Max element of a dict: 201 with the key: key20
**注意:**你可能会想使用max(dictionary) 来找到具有最大值的键。然而,这种方法将返回最大_键_本身。在我们的例子中,它将返回字典中具有最大词法值的键。
如何获得一个元组的最大元素
tuple是Pythons的内置类型**,可以顺序存储对内存中多个对象的引用。它们在很多方面与列表相似,它们之间最明显的区别是元组是一个不可变**的数据结构,与列表不同。
它们通常只用来存储一些结果,通常作为函数的返回类型。
在 Python 中,我们使用一对括号来定义元组。
# Tuple of different element types
exampleTuple = ("string", 5, "five", 4, "4")
与列表中的比较工作方式相同,你只能在兼容的数据类型上运行max() 方法。
int_tuple = (24, 9, 20, 17, 201, 16, 7)
string_tuple = ('one', 'two', 'three')
要获得一个元组的最大元素,最简单的方法可能是使用内置的max() 方法。
int_tuple = (24, 9, 20, 17, 201, 16, 7)
string_tuple = ('one', 'two', 'three')
max_int = max(int_tuple)
print("Max element of a tuple: ", max_int)
max_str = max(string_tuple)
print("Max element of a tuple: ", max_str)
同样,这样做的结果是最大的整数和词义上最大的字符串。
Max element of a tuple: 201
Max element of a tuple: two
结论
找到一个数据结构的最大元素是一项非常普遍的任务。所有 Python 中的标准数据结构都有一个类似的方法来寻找最大元素--依靠所有集合的max() 方法。
在本指南中,我们已经介绍了如何在Python中找到几个最流行的数据结构的最大元素,同时考虑到了它们各自的特点。