更新时间:2023-01-17 18:23:44
删除
是相同的,只要数据是唯一的即可.因此,总的来说更好的做法是,从列表中分离循环,而不是处理元素.它更具可读性,并且嵌套较少.如果未找到 data
,给出错误仍然会更好:
The delete
s are identical as long as data is unique. So it is in general better, do separate looping through the list, from working on elements. It is more readable, and less nested. It would be still better, to give an error, if data
is not found:
def delete(self, data):
tmp = self.head
prev = None
while tmp:
if data == tmp.data:
break
prev = tmp
tmp = tmp.next
else:
raise ValueError('data not found')
self.size -= 1
if prev is None:
self.head = tmp.next
else:
prev.next = tmp.next