从 Python 列表中删除某元素的所有出现
在 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
,你想从中删除所有出现的 1
。filter()
函数接受另一个函数 __ne__
,它将根据 1
是否存在于列表 myList
中,返回一个 True
或 False
的布尔值。如果值 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
变量中。如果存在于 val
和 valueToBeRemoved
中的元素不相等,只有那些存在于 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中将十六进制转换为字节
发布时间: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 中如何将字节 bytes 转换为整数 int
发布时间:2023/12/18 浏览次数:56 分类:Python
-
本贴士介绍了 Python2 以及 3 中如何将 bytes 或者 bytes 数组转换为整数Bytes 数据类型的数值范围为 0~255(0x00~0xFF)。
如何在 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 浏览次数:195 分类:Python
-
本文演示了如何在 Python 中替换字符串中的多个字符。本教程向你展示了如何在 Python 中替换一个字符串中的多个字符。
如何在 Python 中删除字符串中的最后一个字符
发布时间:2023/12/18 浏览次数:88 分类:Python
-
Python 提供了通过使用 slicing 方法、for() 循环和 regex 方法从字符串和特定数量的字符中删除最后一个字符的支持。Python 字符串是一个用双引号或单引号括起来的字符组合。Python 提供了多个函数