使用 Python 删除大于特定值的列表元素

pythonserver side programmingprogramming

在本文中,我们将学习如何从 Python 中的列表中删除大于特定值的元素。

使用的方法

以下是用于完成此任务的各种方法 -

  • 使用 remove() 方法

  • 使用列表理解

  • 使用 filter() 方法和 lambda 函数

方法 1:使用 remove() 方法

remove() 函数(从列表中删除元素的第一次出现)

算法(步骤)

以下是执行所需任务要遵循的算法/步骤。 −

  • 创建一个变量来存储输入列表

  • 创建另一个变量来存储另一个输入值

  • 使用for循环遍历输入列表中的每个元素。

  • 使用if条件语句检查当前元素是否大于指定的输入值。

  • 如果条件为真,则使用remove()函数从列表中删除当前元素,方法是将其作为参数传递给该函数。

  • 删除大于指定输入值的元素后,打印结果列表。

示例

以下程序使用remove()函数从列表中删除大于指定输入值的元素−

# 输入列表
inputList = [45, 150, 20, 90, 15, 55, 12, 75]
# 打印给定列表
print("给定列表是:", inputList)
# 输入值
inputValue = 50
# 遍历列表
for i in inputList:
    # 检查当前元素是否大于输入值
    if i > inputValue:
        # 如果条件为真,则从列表中删除当前元素
        inputList.remove(i)
# 删除大于 50 的元素后打印结果列表
print("从列表中删除大于 50 的元素:\n", inputList)

输出

执行时,上述程序将生成以下输出 -

给定的列表为:[45, 150, 20, 90, 15, 55, 12, 75]
从列表中删除大于 50 的元素:
[45, 20, 15, 12]

方法 2:使用列表推导式

列表推导式

当您希望根据现有列表的值构建新列表时,列表推导式提供了更短/简洁的语法。

示例

以下程序使用列表推导式从输入列表中删除大于指定输入值的元素 -

# 输入列表
inputList = [45, 150, 20, 90, 15, 55, 12, 75]
# 打印给定列表
print("给定列表为:", inputList)

# 输入值
inputValue = 50

# 从大于 50 的列表中删除元素
# 通过遍历列表并存储元素
# 具有小于或等于的值等于给定的输入值
resultList = [k for k in inputList if k <= inputValue]

# 打印结果列表
print("从列表中删除大于 50 的元素:", resultList)

输出

执行时,上述程序将生成以下输出 -

给定的列表为:[45, 150, 20, 90, 15, 55, 12, 75]
从列表中删除大于 50 的元素:[45, 20, 15, 12]

方法 3:使用 filter() 方法和 lambda 函数

Lambda 函数

Lambda 函数,通常称为"匿名函数",与普通 Python 函数相同,只是它可以可以不带名称地定义。def关键字用于定义普通函数,而lambda关键字用于定义匿名函数。但是,它们仅限于一行表达式。它们与常规函数一样,可以接受多个参数。

语法

lambda 参数:表达式
  • 此函数接受任意数量的输入,但仅评估并返回一个表达式。

  • Lambda 函数可用于需要函数对象的任何地方。

  • 您必须记住,lambda 函数在语法上仅限于单个表达式。

算法(步骤)

以下是执行所需任务所要遵循的算法/步骤。 −

  • 使用 lambda 函数检查可迭代对象的每个元素。

  • 使用 filter() 函数过滤所有值小于给定输入值的元素。

  • filter() 函数 − 使用确定序列中每个元素是真还是假的函数过滤指定序列。

  • 使用 list() 函数将此过滤器对象转换为列表。

  • 删除大于指定输入值的元素后打印结果列表。

示例

以下程序使用 filter() 和 lambda() 函数从输入列表中删除大于指定输入值的元素 &miinus;

# 输入列表
inputList = [45, 150, 20, 90, 15, 55, 12, 75]
print("给定列表为:", inputList)
# 输入值
inputValue = 50

# 过滤具有小于或等于给定输入值的值的列表对象
# filteredObject = filter(lambda k: k <= inputValue, inputList)

# 使用 list() 函数将过滤器对象转换为列表
resultList = list(filteredObject)

# 删除大于 50 的元素后打印结果列表
print("从列表中删除大于 50 的元素:\n", resultList)

输出

执行时,上述程序将生成以下输出 -

给定列表为:[45, 150, 20, 90, 15, 55, 12, 75]
从列表中删除大于 50 的元素:
[45, 20, 15, 12]

方法 4:使用 for 循环和 append() 函数

示例

以下程序使用 for 循环和 append() 函数从输入列表中删除大于指定输入值的元素 −

# 输入列表
inputList = [45, 150, 20, 90, 15, 55, 12, 75]
print("给定列表为:", inputList)
# 输入值
inputValue = 50
# 创建一个空列表来存储结果
resultList = []
# 遍历列表
for i in inputList:
    # 检查当前元素是否小于或等于输入值
    if i <= inputValue:
        # 将此元素添加到结果列表
        resultList.append(i)
# 删除大于 50 的元素后打印结果列表
print("从列表中删除大于 50 的元素:\n", resultList)

输出

执行时,上述程序将生成以下输出 -

给定列表为:[45, 150, 20, 90, 15, 55, 12, 75]
从列表中删除大于 50 的元素:
[45, 20, 15, 12]

结论

在本文中,我们学习了 4 种不同的 Python 方法来删​​除大于给定值的列表元素。此外,我们还学习了如何使用 lambda 和 filter() 函数根据条件过滤列表。


相关文章