@@ -81,7 +81,9 @@ def insert_at_nth(self, index: int, data):
8181 ....
8282 IndexError: list index out of range
8383 """
84- if not 0 <= index <= len (self ):
84+ length = len (self )
85+
86+ if not 0 <= index <= length :
8587 raise IndexError ("list index out of range" )
8688 new_node = Node (data )
8789 if self .head is None :
@@ -90,7 +92,7 @@ def insert_at_nth(self, index: int, data):
9092 self .head .previous = new_node
9193 new_node .next = self .head
9294 self .head = new_node
93- elif index == len ( self ) :
95+ elif index == length :
9496 self .tail .next = new_node
9597 new_node .previous = self .tail
9698 self .tail = new_node
@@ -131,15 +133,17 @@ def delete_at_nth(self, index: int):
131133 ....
132134 IndexError: list index out of range
133135 """
134- if not 0 <= index <= len (self ) - 1 :
136+ length = len (self )
137+
138+ if not 0 <= index <= length - 1 :
135139 raise IndexError ("list index out of range" )
136140 delete_node = self .head # default first node
137- if len ( self ) == 1 :
141+ if length == 1 :
138142 self .head = self .tail = None
139143 elif index == 0 :
140144 self .head = self .head .next
141145 self .head .previous = None
142- elif index == len ( self ) - 1 :
146+ elif index == length - 1 :
143147 delete_node = self .tail
144148 self .tail = self .tail .previous
145149 self .tail .next = None
0 commit comments