Python程序 寻找元组中最大元素
计算机科学中最常见的问题之一是搜索问题。检查一个给定的元素是否存在于一个变量中是很重要的,有时我们必须搜索的项目,可以是最大、最小、最频繁等。在这篇文章中,我们将看到我们如何找到一个元组中最大的元素。
我们知道,元组是一个预先定义的数据类型,用于存储异质数据。它有点像一个容器,里面有几个项目。
我们可以在python中使用圆括号来定义一个元组,其中包括我们希望存储的数据-
Var = (1, ‘a’, 3.7)
我们可以通过不同的方式找到一个元组的最大元素。我们将讨论天真的方法以及搜索最大元素的Pythonic方法。
使用For Loop
由于元组基本上是一个可迭代的,我们可以使用Python的迭代语句来逐一浏览元组的所有元素。这样我们就可以通过比较所有的值来确定最大的值。
我们将使用一个变量来保存某个时间点上的最大值。当循环遍历了所有的元素后,该变量将持有最大的元素。让我们来看看这个程序的算法。
算法
让我们来看看上述方法的算法 —
第1步 - 创建一个元组
第2步 - 创建一个变量来存储最大的元素,并在其中存储元组的第一个值。
第3步 --从第二个元素开始使用for循环遍历这些元素
第4步 - 检查当前值是否大于max变量
第5步 - 如果是,那么更新max变量并将其值设置为当前变量
第6步 - 如果不是,则继续下一个元素
第7步 --当程序走出循环时,打印最大元素
例子
A = (1, 2, 3)
maxElem = A[0]
for element in A:
if element > maxElem:
maxElem = element
print("Maximum Element in the tuple is : ", maxElem )
输出
Maximum Element in the tuple is : 3
解释
在这个方法中,我们首先把第1个 元素作为最大的元素,然后我们在列表上迭代,比较当前的元素和当前的最大元素,如果当前的元素大于当前的最大元素,我们更新当前的最大元素。迭代之后,我们将打印最大元素。
使用 sorted() 方法
sorted()函数返回一个指定迭代对象的排序列表。
我们总是可以从大量的库和内置方法中选择,以轻松解决python中的大多数常见问题。
这个方法讨论了内置的 python 函数 sorted() 的使用。它接收一个迭代器作为参数,并返回其元素的排序列表。
我们将使用这个函数对元组的元素进行升序排序,并从结果列表中访问最后一个元素。最后一个元素将是该元组的最大元素。
算法
第1步 - 创建一个元组
第2步 --以元组为参数使用排序函数
第3步 - 使用负数索引访问最后一个元素,并将其存储在一个新的变量中
第4步 - 打印新创建的变量
例子
下面的例子使用sorted()方法对数组进行排序。在这个例子中,我们试图对整个列表进行排序,然后打印这个排序后的数组的最后一个元素,得到最大的元素。
inputArray = (5, 2, 2, 1, 7)
sortedArray = sorted(inputArray)
print("Maximum Element is: ", inputArray[-1])
输出
Maximum Element is: 7
使用 max() 方法
Python 还提供了一个名为 max() 的方法,用于从列表、元组等中找到最大的元素。
正如我们在上面的方法中所讨论的,有几个有用的方法是python内置的,可以用来解决大部分的常见问题。
它接收一个迭代器,或两个或多个数字类型的对象作为输入参数,并返回迭代器中所有元素的最大值。
语法
使用max方法的语法如下。
max(iterable, *, key=None)
max(iterable, *, default, key=None)
max(arg1, arg2, *args, key=None)
其中,a和b是你需要从中找出最大的元素的值。
算法
第1步 - 创建一个元组
第2步 - 创建一个变量来存储最大元素
第3步 --使用max方法,以元组为输入参数
第4步 --打印最大元素
例子
在这个例子中,我们使用 python 的 max 函数来一次性获得整个列表的最大元素。
array = (1, 5, 2, 8, 7, 0)
maxElement = max(array)
print("Maximum Element is : ", maxElement)
输出
Maximum Element is : 8
总结
在这篇文章中,我们集中讨论了寻找元组中最大元素的三种不同方法。我们看到了如何使用 for 循环来实现线性搜索的天真方法。
我们还看到了如何利用像sorted和max这样的方法来寻找元素。使用内置的方法是首选,因为它们已经被优化,可以快速有效地执行。