lists_ii
Lists II
Note: This class was not taught, it is a little bit advanced and should probably be moved to season 2 or 3.
Although this is Lists II, you may wish to look at Basics III first to see how lists are used in a more complex program.
In this class we will examine exactly what a list is.
Class Node
class Node:
def __init__(self, name):
self.name = name
self.next = 0
A node is a bit of data. A node contains a name, for exampe – the name of a fruit. It also contains special data which points to the next node. At the very least this is a bit of data called next, which shows the 'next node'.
A node is a node, which is a bit of information. This is the data structure. Next we need to define the algorithm(s) which operate on the data structure.
Class List
from Node import Node
class List:
def __init__(self):
self.root = 0
self.last = 0
def append(self, n):
if isinstance(n, Node):
if not isinstance(self.root, Node):
self.root = n
self.last = n
else:
self.last.next = n
self.last = n
else:
print("Error: not a node")
def print(self):
n = self.root
print(n.name)
while isinstance(n.next, Node):
n = n.next
print(n.name)
def printl(self):
print("[", end = '')
n = self.root
while isinstance(n, Node):
if n != self.root:
print(' ', end = '')
print("'", end = '')
print(n.name, end = '')
print("'", end = '')
if isinstance(n.next, Node):
print(',', end = '')
n = n.next
else:
n = 0
print("]")
under construction
lists_ii.txt · Last modified: 2024/07/29 00:08 by appledog
