使用 Python 查找列表中的第一个偶数
Python 拥有各种内置方法来修改和分析文本,其中包括查找其中的特定元素。为了解决此问题陈述,它将使用一些内置函数,如 next()、filter() 和 lambda 来查找列表中的第一个偶数元素。各种应用包括数据过滤工具和内容过滤工具。
让我们看看如何获取程序的输入以获取结果
给定的列表为:
List_1 = [21, 33, 12, 11, 61, 78]
最终结果为 12,因为它是在列表中的第一个偶数。
语法
以下语法在示例中使用:
next()
next() 是一个内置函数,用于迭代迭代器中的下一个项目。
filter()
当我们需要根据特定条件过滤项目时,会应用 filter() 方法。简单来说,它允许用户迭代那些被提取以满足条件的元素。
lambda
Python 中的此 lambda 函数称为匿名函数。当需要函数对象时可以使用它。
使用 next() 函数
该程序使用 next() 函数从列表中逐个迭代单个项目。
示例
在以下示例中,通过使用名为 even_num_first 的递归函数开始程序,该函数接受名为 lst 的参数。通过使用函数 return 语句,它将使用内置方法 next() 来查找列表中的第一个偶数。next 函数返回迭代器中的下一个项目。在这种情况下,迭代器是一个生成器表达式,它仅迭代列表中的偶数。如果在列表中找不到偶数,则 next 函数返回 -1,如其第二个参数指定。最后,它将使用调用函数来传递列表值。
def even_num_first(lst): return next((i for i in lst if i%2==0),-1) print("First even number from the following list:",even_num_first([5, 32, 4, 7, 3, 2]))
输出
First even number from the following list: 32
使用递归
该程序使用递归技术传递其所有参数,这些参数将在 for 循环和条件表达式中用于解决列表中的偶数。
示例
在以下示例中,程序以名为 first_even 的函数开头,该函数接受参数 list_data 以通过函数调用获取值。然后使用 for 循环,其中变量 i 迭代 list_data 变量中的每个值。接下来,在 for 循环下使用 if 语句来检查基于列表中第一个偶数的条件,方法是使用 > 和 % 运算符。最后,打印结果。
def first_even(list_data): for i in list_data: if i > 0 and i % 2 == 0: return i else: return -1 print("The first even number from the list:",first_even([53, 81, 30, 2, 45, 76, 21]))
输出
The first even number from the list: 30
使用 filter() 和 lambda 函数
该程序使用内置方法 filter 从列表中删除那些不是第一个偶数的元素。
示例
在以下示例中,程序首先在变量 1num_lst 中初始化整数列表,并使用内置函数 str() 打印列表。该程序使用内置函数 filter 方法,该方法有两个参数:lambda(使用模运算符 (%) 检查数字是否为偶数)和 num_list(给定的输入列表),所有这些过程都将其存储在变量 result 中。最后,使用内置函数 str,该函数接受参数 'result' 以获取输出。
# Initializing list num_lst = [73, 67, 71, 83, 10] # printing original list print("The given list : " + str(num_lst)) # Using the filter function result = list(filter(lambda x: (x % 2 == 0), num_lst)) # print the output print ("The first even integer from the list: " + str(result))
输出
The given list : [73, 67, 71, 83, 10] The first even integer from the list: [10]
使用 for 循环
该程序使用 for 循环迭代列表中的每个单个元素,并使用条件表达式,即 if 来设置第一个偶数的条件。
示例
在以下示例中,可以使用 Python 程序中定义的函数找到整数列表中的第一个偶数。该函数循环遍历列表,检查每个整数是否为偶数。如果发现偶数,则返回偶数。如果找不到偶数,则返回 None。然后程序调用该函数并打印结果。
def even_num_first(numbers): for number in numbers: if number % 2 == 0: return number return None int_list = [35, 30, 11, 4, 17] result = even_num_first(int_list) if result is not None: print(f"The first even number is present in the list {result}.") else: print("The first even number not present.")
输出
The first even number is present in the list 30.
结论
我们学习了各种有助于解决此问题陈述的内置方法。此类程序有助于识别数据中的趋势或模式并组织销售跟踪。通过使用以上所有示例,它还可以解决基于第一个奇数列表的类似程序。