从 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()
函数从列表中删除。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串