#!/usr/bin/env python3 # -*- coding: utf-8 -*- # author: bt3gl class Node: def __init__(self, data, previous=None): self.data = data self.next = None self.previous = previous self.address = self def insert(self, data): while self.next: self = self.next node = Node(data, previous=self) if self.next is None: node = Node(data, previous=self) self.next = node if __name__ == "__main__": ll = Node(0) for n in range(1, 10): ll.insert(n) while ll.next: this_data = ll.data this_address = ll.address if ll.next is None: this_next_data = None this_next_address = None else: this_next_data = ll.next.data this_next_address = ll.next.address if ll.previous is None: this_previous_data = None this_previous_address = None else: this_previous_data = ll.previous.data this_previous_address = ll.previous.address print(f'This node -> data: {this_data}, address: {this_address} | Previous node -> data: {this_previous_data}, address: {this_previous_address} | Next node -> data: {this_next_data}, address: {this_next_address}') ll = ll.next