面试题答案
一键面试- 设计思路
- 边界检查:在获取元素前,对请求的索引进行边界检查,确保索引在列表有效范围内。
- 索引更新策略:当删除元素时,需要更新后续元素的索引。可以采用重新计算索引或者在删除操作时进行索引调整的方式。例如,在删除元素后,对于后续获取索引请求,如果索引大于等于删除元素的索引,则将请求的索引减1。
- 核心代码实现要点
- 添加元素:
dynamic_list = []
def add_element(element):
dynamic_list.append(element)
- 删除元素:
def remove_element(index):
if 0 <= index < len(dynamic_list):
del dynamic_list[index]
else:
print("Index out of range for deletion")
- 获取元素:
def get_element(index):
if 0 <= index < len(dynamic_list):
return dynamic_list[index]
else:
print("Index out of range for getting element")
return None
在实际应用中,还可以使用异常处理机制来处理索引错误,使代码更加健壮。例如:
def get_element_improved(index):
try:
return dynamic_list[index]
except IndexError:
print("Index out of range for getting element")
return None
这样,通过在添加、删除和获取元素时进行边界检查和适当处理,确保在动态操作列表时获取元素不会出现索引错误。