在本文中,我们将学习如何从 Python 中的列表中删除大于特定值的元素。
使用的方法
以下是用于完成此任务的各种方法 -
- 使用 remove() 方法
- 使用列表理解
- 使用 filter() 方法和 lambda 函数
方法 1:使用 remove() 方法
remove() 函数(从列表中删除元素的第一次出现)
算法(步骤)
以下是执行所需任务要遵循的算法/步骤。−
- 创建一个变量来存储输入列表。
- 创建另一个变量来存储另一个输入值。
- 使用 for 循环循环访问输入列表中的每个元素。
- 使用 if 条件语句检查当前元素是否大于指定的输入值。
- 如果条件为 true,则使用 to remove() 函数从列表中删除该当前元素,方法是将其作为参数传递给它。
- 删除大于指定输入值的元素后打印结果列表。
例
以下程序使用 remove() 函数从列表中删除大于指定输入值的元素 −
代码语言:javascript复制# input list inputList = [45, 150, 20, 90, 15, 55, 12, 75] # Printing the given list print("The Given list is:", inputList) # input value inputValue = 50 # iterarting through the list for i in inputList: # checking whether the current element is greater than the input value if i > inputValue: # removing that current element from the list if the condition is true inputList.remove(i) # printing the resultant list after removing elements larger than 50 print("Removing elements larger than 50 from the list:n", inputList)
输出
在执行时,上述程序将生成以下输出 -
代码语言:javascript复制The Given list is: [45, 150, 20, 90, 15, 55, 12, 75] Removing elements larger than 50 from the list: [45, 20, 15, 12]
方法 2:使用列表理解
列表理解
当您希望基于现有列表的值构建新列表时,列表推导提供了更短/更简洁的语法。
例
以下程序使用列表推导式从输入列表中删除大于指定输入值的元素 −
代码语言:javascript复制# input list inputList = [45, 150, 20, 90, 15, 55, 12, 75] # Printing the given list print("The Given list is:", inputList) # input value inputValue = 50 # removing elements from a list larger than 50 # by traversing through the list and storing elements # that are having a value less than or equal to the given input value resultList = [k for k in inputList if k <= inputValue] # printing the resultant list print("Removing elements larger than 50 from the list:", resultList)
输出
在执行时,上述程序将生成以下输出 -
代码语言:javascript复制The Given list is: [45, 150, 20, 90, 15, 55, 12, 75] Removing elements larger than 50 from the list: [45, 20, 15, 12]
方法3:使用filter()方法和lambda函数
λ函数
Lambda 函数,通常称为“匿名函数”,与普通的 Python 函数相同,只是它可以在没有名称的情况下定义。def 关键字用于定义普通函数,而 lambda 关键字用于定义匿名函数。但是,它们仅限于单一的表达方式。与常规函数一样,它们可以接受多个参数。
语法
代码语言:javascript复制lambda arguments: expression
- 此函数接受任意数量的输入,但仅计算并返回一个表达式。
- Lambda 函数可以在需要函数对象的任何位置使用。
- 您必须记住,lambda 函数在语法上仅限于单个表达式。
算法(步骤)
以下是执行所需任务要遵循的算法/步骤。−
- 使用 lambda 函数检查可迭代对象的每个元素。
- 使用 filter() 函数过滤所有值小于给定输入值的元素。
- filter() 函数 − 使用确定序列中每个元素是真还是假的函数过滤指定的序列。
- 使用 list() 函数将此过滤器对象转换为列表。
- 删除大于指定输入值的元素后打印结果列表。
例
以下程序使用 filter() 和 lambda() 函数从输入列表中删除大于指定输入值的元素 &miinus;
代码语言:javascript复制# input list inputList = [45, 150, 20, 90, 15, 55, 12, 75] print("The Given list is:", inputList) # input value inputValue = 50 # Filtering list objects that are having value # less than or equal to the given input Value filteredObject = filter(lambda k: k <= inputValue, inputList) # Convert the filter object to a list using the list() function resultList = list(filteredObject) # printing the resultant list after removing elements larger than 50 print("Removing elements larger than 50 from the list:n", resultList)
输出
在执行时,上述程序将生成以下输出 -
代码语言:javascript复制The Given list is: [45, 150, 20, 90, 15, 55, 12, 75] Removing elements larger than 50 from the list: [45, 20, 15, 12]
方法 4:使用 for 循环和 append() 函数
例
以下程序使用 for 循环和 append() 函数从输入列表中删除大于指定输入值的元素 −
代码语言:javascript复制# input list inputList = [45, 150, 20, 90, 15, 55, 12, 75] print("The Given list is:", inputList) # input value inputValue = 50 # Creating an empty list to store the result resultList = [] # iterarting through the list for i in inputList: # checking whether the current element is less than or equal to the input value if i <= inputValue: # add this element to the result list resultList.append(i) # printing the resultant list after removing elements larger than 50 print("Removing elements larger than 50 from the list:n", resultList)
输出
在执行时,上述程序将生成以下输出 -
代码语言:javascript复制The Given list is: [45, 150, 20, 90, 15, 55, 12, 75] Removing elements larger than 50 from the list: [45, 20, 15, 12]
结论
在本文中,我们学习了 4 种不同的 Python 方法来删除大于给定值的列表元素。此外,我们还学习了如何使用 lambda 和 filter() 函数根据条件过滤列表。