figure successful search for the value the code below shows the implementation for the search method as in the size methodthe traversal is initialized to start at the head of the list (line we also use boolean variable called found to remember whether we have located the item we are searching for since we have not found the item at the start of the traversalfound can be set to false (line the iteration in line takes into account both conditions discussed above as long as there are more nodes to visit and we have not found the item we are looking forwe continue to check the next node the question in line asks whether the data item is present in the current node if sofound can be set to true def search(self,item)current self head found false while current !none and not foundif current get_data(=itemfound true elsecurrent current get_next(return found as an exampleconsider invoking the search method looking for the item mylist search( true since is in the listthe traversal process needs to move only to the node containing at that pointthe variable found is set to true and the while condition will failleading to the return value seen above this process can be seen in figure he remove method requires two logical steps firstwe need to traverse the list looking for the item we want to remove once we find the item (recall that we assume it is present)we must remove it the first step is very similar to search starting with an external reference set to the head of the listwe traverse the links until we discover the item we are looking for since we assume that item is presentwe know that the iteration will stop before current gets to none this means that we can simply use the boolean found in the condition when found becomes truecurrent will be reference to the node containing the item to be removed but how do we remove itone possibility would be to replace the value of the basic data structures