w3resource

Python Linked List: Set a new value of an item in a singly linked list using index value


5. Set Value by Index in Singly Linked List

Write a Python program to set a new value of an item in a singly linked list using index value.

Sample Solution:

Python Code:

class Node:
    # Singly linked node
    def __init__(self, data=None):
        self.data = data
        self.next = None
class singly_linked_list:
    def __init__(self):
        # Createe an empty list
        self.tail = None
        self.head = None
        self.count = 0

    def append_item(self, data):
        #Append items on the list
        node = Node(data)
        if self.head:
            self.head.next = node
            self.head = node
        else:
            self.tail = node
            self.head = node
        self.count += 1
    
    def __getitem__(self, index):
        if index > self.count - 1:
            return "Index out of range"
        current_val = self.tail
        for n in range(index):
            current_val = current_val.next
        return current_val.data
    
    def __setitem__(self, index, value):
        if index > self.count - 1:
            raise Exception("Index out of range.")
        current = self.tail
        for n in range(index):
            current = current.next
        current.data = value

items = singly_linked_list()
items.append_item('PHP')
items.append_item('Python')
items.append_item('C#')
items.append_item('C++')
items.append_item('Java')

print("Modify items by index:")
items[1] = "SQL"
print("New value: ",items[1])
items[4] = "Perl"
print("New value: ",items[4])

Sample Output:

Modify items by index:
New value:  SQL
New value:  Perl

Flowchart:

Flowchart: Set a new value of an item in a singly linked list using index value.

For more Practice: Solve these Related Problems:

  • Write a Python program to update the value of a node at a given index in a singly linked list and then display the updated list.
  • Write a Python script to implement a function that replaces a node's value at a specified index and prints the entire list afterward.
  • Write a Python program to recursively set a new value at a specific index in a singly linked list and verify the change by iterating through the list.
  • Write a Python function to update a node in a singly linked list based on index and then compare the updated list with a copy of the original.

Go to:


Previous: Write a Python program to access a specific item in a singly linked list using index value.
Next: Write a Python program to delete the first item from a singly linked list.

Python Code Editor:

Contribute your code and comments through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.