我正在使用一个具有以下代码的函数的类:
#delete the specified entry from the list if entry in list
def deleteEntry(self,entry):
if entered in self.alist():
remove.entered()
alist 首先要求用户输入。如果它在列表中,您将如何编写一个从列表中删除条目的函数?谢谢 !使用 Python 3.3.1 顺便说一句!
myList.remove("bar")
如果您只需要删除一个案例,您可以使用。如果您尝试删除某个元素的所有外观,并且/或者您有多个要删除的元素,则最好使用 filter():
removed = ['foo', 'bar', 'zee']
myList = ['foo', 'asdf', 'bar', 'bs', 5]
myList = filter(lambda x: not x in removed, myList) #myList = ['asdf', 'bs', 5]
def deleteEntry(self, entry):
try:
self.alist.remove(entry)
except ValueError:
pass # entry was not in the list
这是假设self.alist
您希望从中删除项目的列表。
请注意,如果entry
列表中可能多次出现并且您想要删除所有出现,则需要将其放入循环中,因为list.remove()
只删除第一次出现:
def deleteEntry(self, entry):
while True:
try:
self.alist.remove(entry)
except ValueError:
return # entry was not in the list
remove()
只是一种方法list
:
mylist = ['foo','bar','baz']
print mylist
>>> ['foo','bar','baz']
mylist.remove('bar')
print mylist
>>> ['foo','baz']