Rust語言是否有辦法將一個函數應用於數組/矢量中的每個元素。我知道在Python中有執行此任務的map()
函數。在R中有lapply()
,tapply()
和apply()
函數也可以做到這一點。我想知道是否有一種確定的方法來在Rust中矢量化一個函數?Rust是否有辦法將一個函數/方法應用於數組或向量中的每個元素?
6
A
回答
12
這裏有一個幾個細節:
我們確實有地圖,這對迭代器的工作原理。所以你可以:
some_vec.iter().map(|x| { })
但是,迭代器是懶惰的,所以這不會做任何事情。如果這就是你想要的,你可以將.collect()添加到最後以創建一個新的元素。
標準的方式做一些未分配是使用一個for循環:
for i in &vec {
如果你真的想要的功能的風格,你可以在迭代工具箱使用FORALL方法。
+0
說史蒂夫,我只是想知道迭代器/收集方法與'for'循環之間是否存在性能差異。我知道在Python中,循環,列表解析和'map()'函數之間存在重要的性能差異。對於像這樣的問題Rust是否有任何性能指南 - 主要是數字計算? – krishnab
+1
for循環是Rust中迭代器的糖:http://doc.rust-lang.org/stable/std/iter/index.html#rust%27s-for-loop所以不應該是:) –
相關問題
- 1. 將函數應用於向量中的每個元素組合
- 2. 是否有一個函數將函數應用於元組的每個成員?
- 3. Python vs. R:將一個函數應用於向量中的每個元素
- 4. 在數組中的每個元素乘法是否有一種方法?
- 5. 應用一個函數將VALA數組的每個元素
- 6. 將函數一次性應用於所有元素而不是每個元素?
- 7. 是否有一種純Javascript方法將一個函數應用於多個元素的事件?
- 8. 如何從Rust函數返回一個向量元素?
- 9. 將函數應用到數組中的每個元素
- 10. 有沒有辦法從函數返回的數組中獲取一個元素?
- 11. 對一個向量的兩個元素應用一個函數
- 12. 有沒有辦法可以將大量數據放入數組的一個元素中,還是需要爲每個數據創建一個數組?
- 13. 用於循環到每個元素的數組方法
- 14. 將一個數組中的每個元素與另一個數組的每個元素相乘的方式?
- 15. 將除法應用於PostgreSQL中的數組中的每個元素
- 16. 是否有一個actionscript函數或方法來返回元素實例名稱?
- 17. 將函數應用於postgres中表格中的每個元素
- 18. 是否將函數附加到每個元素的正確方法
- 19. 數組是否有一個元素等於元素?
- 20. 將函數應用於SELECT語句中數組的每個元素
- 21. 如何將一個函數應用於一個deque的每個元素?
- 22. 如何將一個函數應用於一組元素
- 23. 是否有一個R函數將函數應用於每對列?
- 24. 將錨標籤應用於數組中的每個元素?
- 25. 將函數應用於列表中的每個元組
- 26. 如何檢查C++ stl向量中存在的值並將函數應用於向量的每個元素?
- 27. 如何將列表中的每個元素應用於方案中的函數?
- 28. 如何將具有多個參數的函數應用於PHP中數組的每個元素?
- 29. Rust中的函數向量
- 30. 有沒有辦法調用一個元素的函數作爲參數傳遞?
這裏你去:https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.map你可以像這樣使用它:'vec![1,2,3] .into_iter ().map(| x | x * 2).collect ::>()' –
Adrian