There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.
If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.
Join the Discussion. Help a fellow learner on their journey.
Ask or answer a question about this exercise by clicking reply () below!
Agree with a comment or answer? Like () to up-vote the contribution!
As we all read before coming to this lesson, linked lists are composed of nodes. The line you guys mention self.head_node = Node(value) means that our LinkedList instance is also the head node of a linked list.
Let’s say we create an instance of the LinkedList class:
hello = LinkedList(5)
our new LinkedList instance object hello will have a self.value of 5, and will also be a head_node, which will be Node(5). Remember w/e you put into the __init__ method will happen when you create an object.
You can test putting these lines at the end of your code:
first and second print should return 5; the third one will tell you that it’s a .Node object. In few words: hello is LinkedList(5) and also a head_node whose value is 5, or Node(5)
It means that, within the class LinkedList, we are setting the instance attribute (which we call head_node) equal to an instance of the class Node with data equal to “value”.
Hey guys. About this part in task 1: We want to be able to instantiate a LinkedListwith a head node, so.init()should takevalueas an argument. Make surevaluedefaults toNone if no value is provided.
Why would the default for value in the constructor be None? I thought linked lists always have a head node, so during instantiation of the linked list, shouldn’t it have a value for the head node by necessity?