1.    def deleteNode(self, data):
2.           current = self.head
3.           found = False
4.           while current and found is False:
5.               if current.getInfo() == data:
6.                   found = True
7.               else:
8.                   current = current.getNext()
9.           if found:
10.               if current == self.head: #first node is deleted
11.                   self.head = current.next
12.               else:                    #node is not first node
13.                   current.pre.next = current.next
14.               if current == self.last: #last node is deleted 
15.                   self.last =  current.pre
16.               else:                    #node is in the middle
17.                   current.next.pre = current.pre
18.               del current
19.               self.size -= 1
20.          return found