@@ -81,7 +81,9 @@ def insert_at_nth(self, index: int, data):
81
81
....
82
82
IndexError: list index out of range
83
83
"""
84
- if not 0 <= index <= len (self ):
84
+ length = len (self )
85
+
86
+ if not 0 <= index <= length :
85
87
raise IndexError ("list index out of range" )
86
88
new_node = Node (data )
87
89
if self .head is None :
@@ -90,7 +92,7 @@ def insert_at_nth(self, index: int, data):
90
92
self .head .previous = new_node
91
93
new_node .next = self .head
92
94
self .head = new_node
93
- elif index == len ( self ) :
95
+ elif index == length :
94
96
self .tail .next = new_node
95
97
new_node .previous = self .tail
96
98
self .tail = new_node
@@ -131,15 +133,17 @@ def delete_at_nth(self, index: int):
131
133
....
132
134
IndexError: list index out of range
133
135
"""
134
- if not 0 <= index <= len (self ) - 1 :
136
+ length = len (self )
137
+
138
+ if not 0 <= index <= length - 1 :
135
139
raise IndexError ("list index out of range" )
136
140
delete_node = self .head # default first node
137
- if len ( self ) == 1 :
141
+ if length == 1 :
138
142
self .head = self .tail = None
139
143
elif index == 0 :
140
144
self .head = self .head .next
141
145
self .head .previous = None
142
- elif index == len ( self ) - 1 :
146
+ elif index == length - 1 :
143
147
delete_node = self .tail
144
148
self .tail = self .tail .previous
145
149
self .tail .next = None
0 commit comments