删除Python列表中的所有元素实例

时间:2020-02-23 14:43:44  来源:igfitidea点击:

在本文中,我们将看到不同的方法来从Python列表中删除给定元素的所有出现或者实例。

让我们看看这个例子:示例:

Input  : ["java", "Python", "R", "Scala", "java"]
element: "java"
Output : ["Python", "R", "Scala"]
 
Input  : ["java", "c", "ruby", "java", "java","java script"]
element: "java"
Output : ["c", "ruby", "java script"]

现在,让我们看看不同的方法:

使用remove()列表的方法与循环

remove()方法用于从列表中删除给定元素的第1个发生。
所以我们在这里循环通过列表,每当我们找到给定元素时,我们将使用remove()方法从列表中删除该元素。
这是Python代码:

# input list
items = ["java", "Python", "R", "Scala", "java"]
 
# input element
element = "java"
 
# loop through all element
for item in items :
 
    # if element is found 
    # then remove
    if item == element:
        items.remove(item)
 
# print result  
print(items)

输出:

['Python', 'R', 'Scala']

使用pop()列表方法

pop()方法用于从列表中删除给定索引元素的第1次出现。
所以其中我们正在循环通过列表,每当我们找到给定的元素时,我们将通过传递相应的索引来使用pop()方法从列表中删除该元素。

这是Python代码:

# input list
items = ["java", "Python", "R", "Scala", "java"]
 
# input element
element = "java"
 
# loop through all element
for i in range(len(items)) :
 
    # if element is found 
    # then pop out
    if items[i] == element:
        items.pop(i)
 
# print result
print(items)

输出:

['Python', 'R', 'Scala']

使用list-comprehension

其中我们通过添加与给定元素不匹配的元素来创建新列表 list-comprehension
这是建议使用的解决方案,在这里我们正在创建一个满足某些条件的子符。
在这种情况下,如果 item与给定的不匹配 element这是Python代码:

# input list
items = ["java", "Python", "R", "Scala", "java"]
 
# input element
element = "java"
 
# list comprehension
items = [item for item in items if item != element]
 
# print result
print(items)

输出:

['Python', 'R', 'Scala']

使用filter()

我们也可以使用内置 filter(function,iterable)可以从函数返回true的列表元素中返回迭代器的方法。
这是Python代码:

# input list
items = ["java", "Python", "R", "Scala", "java"]
 
# input element
element = "java"
 
# list comprehension
items = list(filter(lambda item: item != element, items))
 
# print result
print(items)

使用list的remove()方法与循环

我们也可以使用 remove()循环的方法而不是循环,如第一次方法所示。

我们将在循环中使用循环以及查找列表中的元素时迭代元素,我们将删除它。
这是Python代码:

# input list
items = ["java", "Python", "R", "Scala", "java"]
 
# input element
element = "java"
 
# while loop through all element
while element in items: items.remove(element)
 
# print result  
print(items)

输出:

['Python', 'R', 'Scala']