1.    def deleteNode(self, item):
2.        if self.isEmpty() != True:
3.            ptr = self.listPtr.next
4.            pre = self.listPtr.next
5.            found = False
6.            while found is False:
7.                if item == ptr.getInfo():
8.                    found = True
9.                else:
10.                   pre = ptr
11.                   ptr = ptr.next
12.                   if pre == self.listPtr:
13.                       break
14.           if found:
15.               if ptr == ptr.next:       # Only one node
16.                     del ptr
17.                     self.listPtr = None
18.               elif ptr == self.listPtr: # Node is the last node
19.                    pre.next = self.listPtr.next
20.                    self.listPtr = pre
21.                    del ptr
22.               elif ptr == self.listPtr.next: # Node is the first node
23.                    self.listPtr.next = ptr.next
24.                    del ptr
25.               else:    #node is in the middle
26.                    pre.next = ptr.next
27.                    del ptr
28.               self.size -= 1
29.           return found
 