Python程序 搜索元组中的一个元素
在Python中,在数据结构中搜索元素是一项常见的任务,不同类型的数据结构应该致力于提供高效的搜索方法。搜索的问题涉及到在一个容器内找到一个特定的元素,如果没有找到,则返回一个值。
可以用于这项任务的一种数据结构是元组,它将不同类型的数据集合存储在一个变量中。这些项目可以通过它们的索引来访问,Python 提供了各种方法来处理它们。元组是不可变的,这意味着一旦创建,它们就不能被修改。对一个元组进行的任何操作都将导致一个具有更新值的新元组。
我们可以在Python中使用圆括号来定义一个元组,其中包括我们希望存储的数据,即
var = (1, 'a', 3.7)
每当我们需要检查一个元组中是否存在一个项目时,我们必须寻找方法来搜索其中的那个项目。幸好 python 为我们提供了一些方法来解决这个问题。下面列出了一些我们可以确定一个元素是否存在于一个元组中的方法。
- 使用python的for循环
-
使用python的in操作符
-
使用元组对象的索引方法
使用 python 的 for 循环
Python 为我们提供了几种迭代元组、列表等的方法。通过使用循环,我们将遍历元组的所有元素。在每次迭代中,我们将检查当前元素是否等于我们正在搜索的元素。
如果匹配,我们就跳出循环,发出找到元素的信息;如果我们遍历了所有的元素,仍然没有找到元素,我们将打印未找到的信息。
算法
让我们来看看上述方法的算法 —
第1步 - 创建一个元组
第2步 --创建一个计数器变量来跟踪元素的找到与否的状态
第3步 --开始使用for循环对元素进行迭代
第4步 - 使用比较运算符和if语句检查当前值是否等于我们要搜索的值。
第5步 - 如果是,那么我们就找到了该元素,将found设为true,并跳出循环。
第6步 - 如果不是,则继续寻找下一个元素
第7步 - 当程序走出循环时,检查计数器变量的值是否为真。
第8步 - 如果是,打印找到的元素
第9步 - 如果不是,打印未找到的元素
例子
在这个例子中,我们使用for循环遍历列表,并将每个元素与给定的数字进行比较,如果元素等于给定的数字,我们就打破for循环,并打印该元素的存在。
A = (1, 2, 3, 4, 6)
isFound = False
elem = 5
for item in A:
if item == elem:
isFound = True
break
if isFound:
print("Element found")
else:
print("Element not found")
输出
Element not found
Element not found
Element not found
Element not found
Element not found
使用in运算符
in 操作符确定一个给定的值是否是一个序列的组成元素,如字符串、数组、列表或元组。
Python 提供了一个简单的解决方案,用于检查一个元素在迭代器中是否存在的问题。这就是 “in” 操作符。它是 python 的一个内置方法,其功能与我们上面讨论的方法相同,但其结果是布尔值。
意思是说,如果我们要搜索的项目存在于迭代器中,这里是元组,它的结果是true,如果元素不存在,表达式的结果是False。使用in运算符的语法如下-
ElementToSearch in VariableToSearchIn
例子
下面是一个使用in运算符在数组中搜索一个元素的例子。在这里,我们使用了python的in操作符,它可以检查一个元素是否存在于一个数据结构中。
如果该操作符返回true,这意味着该项目是存在的,我们返回该元素是存在的。如果运算符返回false,我们就返回没有找到元素。
array = ("mango", "banana", "apple", "orange")
elem = "mango"
if elem in array:
print ("Element found")
else:
print ("Element not found")
输出
Element found
使用元组的index()方法
我们可以通过索引来访问一个元组的元素,方法如下: tuple_name[index]
。
我们已经讨论过 tuple 是 python 中一个预定义的类,因此它有几个方法可以用来执行简单的任务。其中一个方法就是索引方法。
它把要搜索的值作为输入,并把该元素第一次出现的索引作为返回值,如果该元素不存在,则会引发一个异常。
由于有可能出现异常,我们将使用try和except块进行错误处理。
例子
在下面的例子中,我们使用index()函数来获取给定数字的索引,如果它给出了索引,我们就打印该元素被找到,否则,我们就打印 “元素未被找到”。
input_array = (1, 2, 3, 5, 6, 7)
elem = 4
try:
A.index(elem)
print("Element found")
except:
print("Element not found")
输出
Element not found
总结
在这篇文章中,我们集中讨论了在元组中搜索一个元素的三种不同方法。我们学习了使用for循环,使用in操作符和使用元组类的索引方法。