迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

从 Python 列表中删除某元素的所有出现

作者:迹忆客 最近更新:2023/12/17 浏览次数:

在 Python 中,列表允许同一个元素多次出现。即使一个元素的值可能与其他元素相同,但每个元素都会有一个不同的索引。使用这些索引号,你可以很容易地访问任何你想要的元素。

但是,在某些情况下,你可能不想要同一元素的多个实例;那么,你肯定会想要从列表中删除所有这些特定元素的出现。在 Python 中,有不同的方法可以实现这一点。


在 Python 中使用 filter() 函数从列表中删除一个元素的所有实例

在 Python 中,借助于 filter() 函数,过滤元素变得更加容易。filter() 函数需要两个参数,第一个参数是一个函数,第二个参数可以是集合、列表、元组等。

示例 1:带有 __ne__filter() 函数

myList = [2, 1, 3, 5, 1, 1, 1, 0]
myList = list(filter((1).__ne__, myList))
print(myList)

输出:

[2, 3, 5, 0]

在这个例子中,你有一个列表 myList,你想从中删除所有出现的 1filter() 函数接受另一个函数 __ne__,它将根据 1 是否存在于列表 myList 中,返回一个 TrueFalse 的布尔值。如果值 1 存在于列表中,那么它将直接丢弃它。然后,无论 filter() 函数返回的是什么,都将使用 list() 函数将其转换为一个列表。

示例 2:带有 lambda 函数的 filter() 函数

myList = [2, 1, 3, 5, 1, 1, 1, 0]
valueToBeRemoved = 1

result = filter(lambda val: val != valueToBeRemoved, myList)
print(list(result))

输出:

[2, 3, 5, 0]

我们没有传递 __ne__ 函数,而是传递一个 lambda 函数给 filter() 函数。

从列表 myList 中,你将逐个提取每个元素并将其存储在 val 变量中。如果存在于 valvalueToBeRemoved 中的元素不相等,只有那些存在于 val 中的元素会被添加到新的变量 result 中。你应该使用 list() 函数将 result 转换为一个列表。


在 Python 中使用列表推导式从列表中删除元素的所有实例

列表推导式是一种简短的代码编写方式。列表推导式比一般的函数和循环快。

示例代码:

myList = [1, 2, 3, 4, 2, 2, 3]
valueToBeRemoved = 2

myList = [value for value in myList if value != valueToBeRemoved]

print(myList)

输出:

[1, 3, 4, 3]

你有一个列表 myList,你想从其中删除元素 2 的出现。删除一个元素的所有实例的主要代码位于方括号 [] 内。这里,for 循环将首先运行,然后它将从列表 myList 中获取一个值并将其存储在 value 变量中。之后,如果 value 变量里面的值和 valueToBeRemoved 变量不匹配,它就只会返回 value 变量的值,并将其存储在列表 myList 中。这个过程将一直持续到列表变空。最后,你将拥有一个包含你想要的输出的列表。


使用 remove() 函数从 Python 中删除一个元素的所有实例

remove() 函数只删除元素的第一次出现。如果你想使用 remove() 函数删除元素的所有出现,你可以使用 for 循环或 while 循环。

myList = [2, 1, 3, 5, 1, 1, 1, 0]
valueToBeRemoved = 1

try:
    while True:
        myList.remove(valueToBeRemoved)
except ValueError:
    pass

print(myList)

输出:

[2, 3, 5, 0]

在上面的代码中,你创建了一个列表 myList,然后你有一个变量 valueToBeRemoved,它将包含你想从列表中删除的元素,在这个例子中 1。当循环浏览列表时,如果该元素在列表中,将使用 remove() 函数从列表中删除。

上一篇:在Python中将十六进制转换为字节

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在Python中将十六进制转换为字节

发布时间:2023/12/18 浏览次数:153 分类:Python

本教程介绍了如何在Python中将十六进制值转换为字节文字。十六进制,通常简写为hex,使用16个符号(0-9,a-f)表示值,与十进制的10个符号形成对比。例如,十进制中的1000在十六进制中是3E8。

Python 中字符串前面的 b

发布时间:2023/12/18 浏览次数:175 分类:Python

b 表示法用于在 Python 中指定字节字符串。在 Python 中使用 b" 语句 b" 表示法用于在 Python 中指定 bytes 字符串。

如何在 Python 中把整型转换为二进制

发布时间:2023/12/18 浏览次数:148 分类:Python

本教程将演示如何在 Python 中把整数转换成二进制。本教程介绍了如何在 Python 中把一个整数转换成二进制。本教程还列出了一些示例代码,以阐述在 Python 中从 int 到二进制的不同转换方式。

如何将整型 int 转换为字节 bytes

发布时间:2023/12/18 浏览次数:117 分类:Python

本贴士介绍了在 Python 2.7 及 Python 3 中如何将整型 int 转换为字节 bytes。将整型 int 转换为字节 bytes 是将字节 bytes 转换为整型 int 的逆操作,本文中介绍的大多数的 int 到 bytes 的方法都是 bytes 到

如何在 Python 中从一个字符串中删除标点符号

发布时间:2023/12/18 浏览次数:85 分类:Python

本文介绍了在 Python 中从字符串中删除标点符号的方法。本教程讨论了在 Python 中从字符串中删除标点符号的方法。这是 NLP 预处理和清理文本数据时特别有用的一步。

如何在 Python 中将整数转换为字符串

发布时间:2023/12/18 浏览次数:194 分类:Python

本文介绍了如何在 Python 中将整数转换为字符串。它包括 str()函数和 f 格式。本文将介绍使用 Python 代码将整数转换成字符串的不同方法,如 str() 函数和 f 格式化方法。

如何在 Python 中删除字符串中的最后一个字符

发布时间:2023/12/18 浏览次数:88 分类:Python

Python 提供了通过使用 slicing 方法、for() 循环和 regex 方法从字符串和特定数量的字符中删除最后一个字符的支持。Python 字符串是一个用双引号或单引号括起来的字符组合。Python 提供了多个函数

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便