我想立即替换列表中的一些元素.
假设我们有这些列表:
list = [1, 2, 3, 4, 5, 6]
idx = [1, 3, 4]
new = [100, 200, 300]
Run Code Online (Sandbox Code Playgroud)
我想list用new值替换元素1,3,4.例如 :
list[idx] = new
Run Code Online (Sandbox Code Playgroud)
所以最后的清单是=> [1, 100, 3, 200, 300, 6]
我知道你可以在Matlab中以这种方式使用它,但想知道我应该在Python中做什么?
注意:我知道可以使用循环并执行此操作.
编辑:我想使用纯python解决方案.
"pythonic"的方式是使用zip:
for i, n in zip(idx, new):
L[i] = n
Run Code Online (Sandbox Code Playgroud)
Python本身不支持matlab风格的数组操作,但如果你对这种编码风格感兴趣,你可以调查numpy(参见@ abarnert的回答).