Python basic data structure Implementation
<p>I am a C++ coder. Recently started with Python. I was having a look at a simple Linked List implementation in Python. I am bit confused here. Not only here but also in Tree implementation and so on with the same problem.</p>

<p>class Element contains data and pointer to next node. Perfect no problem. However in class LinkedList I can see self.tail.next=e, now next is a variable of Element class even if it is public than also an object of Element class has to access it. Here how can we write something like self.tail.next = e as tail is just a variable of LinkedList class and is not an object of Element class. I am confused.</p>

<pre><code>class Element:
        def __init__(self,x):
                self.data=x
                self.next=None


class LinkedList:
        def __init__(self):
                self.head=None
                self.tail=None

        def append(self,x):
                # create a new Element
                e = Element(x)
                # special case: list is empty
                if self.head==None:
                        self.head=e
                        self.tail=e
                else:
                        # keep head the same
                        self.tail.next=e
                        self.tail=e
</code></pre>
