1. Как сохранить узлы списка в файл (в байтовой форме) и реализовать чтение этого файла? (без первого узла, который None)
2. Как переделать этот список из двусвязного циклического в односвязный?
class Node: def __init__(self, name, year, cse): self.name = name self.year = year self.cse = cse self.next = None self.prev = None class Sentinel_DLL: def __init__(self): self.sentinel = Node(None, None, None) self.sentinel.next = self.sentinel self.sentinel.prev = self.sentinel def first_node(self): if self.sentinel.next == self.sentinel: return None else: return self.sentinel.next def insert_after(self, x, name, year, cse): y = Node(name, year, cse) y.prev = x y.next = x.next x.next = y y.next.prev = y def append(self, name, year, cse): last_node = self.sentinel.prev self.insert_after(last_node, name, year, cse) def delete(self, x): x.prev.next = x.next def find(self, name, year, cse): self.sentinel.name = name self.sentinel.year = year self.sentinel.cse = cse x = self.first_node() while x.name != name: x = x.next self.sentinel.name = None self.sentinel.year = None self.sentinel.cse = None if x == self.sentinel: return None else: return x L = Sentinel_DLL() L.append(None, None, None) L.append('Dima', 1995, 204) L.append('Vlad', 1995, 207) L.append('Eva', 1000, 15) L.append('Pavel', 1568, 158) node = L.find(None, None, None) node = node.next print(node.name)