Python:获取列表(List)、字典(Dictionary)或元组(Tuple)的最大元素讲解

362 阅读4分钟

简介

在本指南中,我们将看看_如何_在 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中找到几个最流行的数据结构的最大元素,同时考虑到了它们各自的特点。