Does Rust have an equivalent to Python's list comprehension syntax?

*爱你&永不变心* 提交于 2019-12-01 02:29:48

You can just use iterators:

fn main() {
    let v1 = (0u32..9).filter(|x| x % 2 == 0).map(|x| x.pow(2)).collect::<Vec<_>>();
    let v2 = (1..10).filter(|x| x % 2 == 0).collect::<Vec<u32>>();

    println!("{:?}", v1); // [0, 4, 16, 36, 64]
    println!("{:?}", v2); // [2, 4, 6, 8]
}
Jacob Krall

cute is a macro for Python-esque list and dictionary (HashMap) comprehensions in Rust.

#[macro_use(c)]
extern crate cute;

let vector = c![x, for x in 1..10, if x % 2 == 0];
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!