Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab在python中的索引与替换_Python_Matlab_Indexing - Fatal编程技术网

Matlab在python中的索引与替换

Matlab在python中的索引与替换,python,matlab,indexing,Python,Matlab,Indexing,在matalb中,我们可以将一个向量设为a=[1,3,4],并使用它访问和替换另一个向量或矩阵的元素,如下所示 a=[1,2,4]; b=[1,2,3,4]; b(a)=1 所以b是[1,1,3,1] 在python中是否有这样做的方法 我知道我可以做这样的事情: a=[1,2,4] b=list(range(1,10)) [b[x] for x in a] 例如,我不需要替换这些值。Numpy具有类似的功能。但是,请记住,Numpy索引从0开始。不是在1: import numpy as

在matalb中,我们可以将一个向量设为a=[1,3,4],并使用它访问和替换另一个向量或矩阵的元素,如下所示

a=[1,2,4];
b=[1,2,3,4];
b(a)=1
所以b是[1,1,3,1]

在python中是否有这样做的方法

我知道我可以做这样的事情:

a=[1,2,4]
b=list(range(1,10))

[b[x] for x in a]

例如,我不需要替换这些值。

Numpy具有类似的功能。但是,请记住,Numpy索引从0开始。不是在1:

import numpy as np
a = np.array([1, 2, 4])
b = np.array([1, 2, 3, 4])
b[a - 1] = 1
print(b)
#[1 1 3 1]

您还可以在python中使用逻辑索引:

将numpy导入为np
a=np.数组([1,1,1,0])
b=np.数组([5,6,7,8])
b[a==True]=1
#[1 1 1 8]

看看numpy。