ndarray::Array1中的元素比较生锈了

发布于 2025-01-13 22:02:43 字数 327 浏览 1 评论 0原文

我试图找到这个 python numpy 代码的 rust 等效项,对数组进行元素比较。

import numpy as np
np.arange(3) > 1

这是我的 Rust 代码:

use ndarray::Array1;
fn main() {
    let arr = Array1::<f64>::range(0.0, 3.0, 1.0);
    arr > 1.0 // doesn't work.
}

我可以使用 for 循环来完成此操作,但我正在寻找最惯用的方法。

I'm trying to find the rust equivalent of this python numpy code doing elementwise comparison of an array.

import numpy as np
np.arange(3) > 1

Here's my rust code:

use ndarray::Array1;
fn main() {
    let arr = Array1::<f64>::range(0.0, 3.0, 1.0);
    arr > 1.0 // doesn't work.
}

I could do this with a for loop, but I'm looking for the most idiomatic way of doing it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

平安喜乐 2025-01-20 22:02:46

使用 .map 对于按元素操作:

fn main() {
    let v: Vec<_> = (0..3).map(|x| x > 1).collect();
    println!("{v:?}")
}

输出:

[false, false, true]

游乐场

Use .map for element-wise operations:

fn main() {
    let v: Vec<_> = (0..3).map(|x| x > 1).collect();
    println!("{v:?}")
}

Output:

[false, false, true]

Playground

ゃ人海孤独症 2025-01-20 22:02:45

答案直接来自map 方法的文档
arr.map(|x| *x > 1.0)

游乐场

The answer comes straight out of documentation for the map method:
arr.map(|x| *x > 1.0)

playground

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文