一次性分配多个python列表元素

kne*_*epp 4 python matlab vectorization slice

熟悉MATLAB编程语言我正在寻找一种在python中实现以下赋值的便捷方法.

对于列表L,给定索引I和值R.

    L = [10,20,30,40,50]
    I = [2,4,5]
    R = [200, 400, 500]
Run Code Online (Sandbox Code Playgroud)

我想以与此类似的方式分配这些值

    L(I) = R
Run Code Online (Sandbox Code Playgroud)

哪个应该屈服

    L == [10,200,30,400,500]
Run Code Online (Sandbox Code Playgroud)

这样做的python方式是什么?原始列表的副本也没问题.

Dai*_*air 6

没有numpy:

L = [10,20,30,40,50]
I = [1,3,4]
R = [200, 400, 500]

for i,j in enumerate(I):
    L[j] = R[i]

print L
Run Code Online (Sandbox Code Playgroud)

产量:

[10, 200, 30, 400, 500]
Run Code Online (Sandbox Code Playgroud)