Python Program to Display all the Nodes in a Linked List using Recursion

When it is required to display the elements/nodes in a linked list, using recursion method, a method to add values to the linked list, and a method to print the elements of a Linked List. It would also have a helper method that uses recursion, i.e calls the helper function again and again to print the values.

Below is a demonstration for the same −


 Live Demo

class Node:
   def __init__(self, data): = data = None

class my_linked_list:
   def __init__(self):
      self.head = None
      self.last_node = None

   def add_value(self, my_data):
      if self.last_node is None:
         self.head = Node(my_data)
         self.last_node = self.head
      else: = Node(my_data)
         self.last_node =

   def print_it(self):

   def helper_print(self, curr):
      if curr is None:


my_instance = my_linked_list()
n = int(input('How many elements you wish to add ? '))
for i in range(n):
   data = int(input('Enter a data item : '))

print('The linked list: ')


How many elements you wish to add ? 4
Enter a data item : 34
Enter a data item : 67
Enter a data item : 12
Enter a data item : 89
The linked list:


  • The ‘Node’ class is created.

  • Another ‘my_linked_list’ class with required attributes is created.

  • It has an ‘init’ function that is used to initialize the first element, i.e the ‘head’ to ‘None’ and last node to ‘None’.

  • Another method named ‘add_value’ is defined, that is used to add data to the linked list.

  • Another method named ‘print_it’ is defined that calls the helper method to display the linked list data on the console.

  • Another method named ‘helper_print’ is defined that is used to display the linked list data on the console.

  • This helper function is defined, since recursion needs to be used here.

  • An object of the ‘my_linked_list’ class is created.

  • The user input is taken for the number of elements in the linked list.

  • This range is iterated over, and the methods are called on it to add data.

  • This is displayed on the console using the ‘print_it’ method.