2013-06-12 4 views
0

리스트에서 항목 (클래스 [기능]) 분리 :I 다음 코드하는 기능을 갖는 클래스 사용하고

#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 사용 BTW!

답변

0
def deleteEntry(self, entry): 
    try: 
     self.alist.remove(entry) 
    except ValueError: 
     pass # entry was not in the list 

여기서는 항목을 제거하려는 목록이 self.alist 인 것으로 가정합니다.

def deleteEntry(self, entry): 
    while True: 
     try: 
      self.alist.remove(entry) 
     except ValueError: 
      return # entry was not in the list 
0

remove() 단지입니다 : entry 목록에 여러 번 발생할 수 있습니다 당신은 모든 항목을 제거하려면, 당신은 list.remove() 이후 루프에 넣고해야한다는

참고 첫 번째 발생을 제거 list하는 방법 : 당신은 단지 하나의 케이스를 제거해야하는 경우

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

mylist.remove('bar') 
print mylist 
>>> ['foo','baz'] 
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] 
관련 문제