以下是一种解决方法,使用Python语言示例代码:
def remove_elements_by_position(lst, positions):
# 对位置进行升序排序,以便正确删除元素
positions.sort()
# 根据位置逆序删除元素,以避免删除元素改变后续元素的位置
for pos in reversed(positions):
if pos < len(lst):
del lst[pos]
return lst
# 示例用法
my_list = [1, 2, 3, 4, 5]
positions_to_remove = [1, 3]
result = remove_elements_by_position(my_list, positions_to_remove)
print(result) # 输出: [1, 3, 5]
在这个示例中,remove_elements_by_position
函数接受一个列表和一个位置列表作为输入,然后根据位置列表中的位置删除列表中的元素。为了确保正确删除元素,我们首先对位置列表进行升序排序。然后,使用del
关键字从列表中删除指定位置的元素。由于删除元素后会改变后续元素的位置,因此我们从最后一个位置开始删除,以避免删除错误的元素。最后,返回删除元素后的列表。
上一篇:按位置进行数据库请求 - 建议?
下一篇:按位置提取字符串