已知两个列表arr1和arr2,arr2的索引列表比如del = [0, 1, 2],将如下坐标插入到 arr2的insert=[1, 3, 7] 相应元素后边。
# 参数表示:1.变道的index 2.表示插入相邻车道的值Car1 3.表示相邻车道的列表 4、表示中间车道的列表
def insert_function(del_index, insert_index, LC_list, middle_list):
LC_num = len(del_index) # 变道车辆数
for i in range(LC_num):
# 得出来的是变道的index
index = del_index[i]
Car1 = insert_index[i] + i # 其实就是一个算法问题
LC_list.insert(Car1 + 1, middle_list[index]) # insert_index[i] + 1相当于Car1+1
a=[1,4,2,1,5,6,9,0]
b=[1,0,1,2,3,4,5,6]
del_index=[1,2,3]
insert_index=[1,3,7]
insert_function(del_index, insert_index, a, b)
print(a) # 验证成功:[1, 4, 0, 2, 1, 1, 5, 6, 9, 0, 2]
print(b) # b列表没变
同时删除arr2的del相关索引值,代码如下:
# 同时删除列表中的不同index的元素
a=[1,4,2,1,5,6,9,0]
#删除列表中的元素,其所在的位置为[1,3,7]
del_index=[1,3,7]
tmp=[i for num,i in enumerate(a) if num not in del_index]
print(tmp)
print(f"最终结果:{tmp}")