0

我正在使用一个具有以下代码的函数的类:

#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 顺便说一句!

4

3 回答 3

0

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]
于 2013-06-13T01:37:22.857 回答
0
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
于 2013-06-12T22:50:20.173 回答
0

remove()只是一种方法list

mylist = ['foo','bar','baz']
print mylist
>>> ['foo','bar','baz']

mylist.remove('bar')
print mylist
>>> ['foo','baz']
于 2013-06-12T22:51:16.440 回答