将Matlab程序转换为对应的Python代码

3

我希望在Python中实现以下列出的Matlab命令。我能够找出Python中对应的Matlab命令,但是没有得到精确的结果。有人可以帮助我吗。

MATLAB代码:

n0 = 3
n1 = 1
n2 = 5
n = [n1:n2]
>> 1 2 3 4 5
x = [(n - n0) == 0]
>> 0 0 1 0 0

PYTHON CODE:

import numpy 
n0 = 3
n1 = 1
n2 = 5
n = r_[n1:n2+1]
>> [1 2 3 4 5]
x = r_[(n-n0) == 0]
>> [False False True False False]

所以x是我的布尔数据类型的数组"[array([False, False, True, False False], dtype=bool)]"。我该如何使最后一个命令以0或1的形式返回结果,使结果与Matlab完全相同。

1个回答

2
使用列表推导式将布尔值转换为整数:
[int(val) for val in x]

谢谢,它可以与数组命令一起使用,以便返回的列表是ndarray数据类型。但是,在执行命令时,是否有一种方法可以直接得到该类型的结果?我知道在numpy数组中有一些方法/属性可以控制数据类型。 - sarbjit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接