如果我有一个vec<string>,我可以使用filter_map来处理和消除整数,但是有没有一个选项与filter相反呢?基本上有没有一种惯用的方法来做这样的事情-
vec<string>
filter_map
filter
word_list.iter().merge_map(|s| s.split(".")).collect() ^this is an imaginary method.
将输入["a","b.c","d"]转换为["a","b","c","d"]
["a","b.c","d"]
["a","b","c","d"]
mwkjh3gx1#
使用flat_map():
flat_map()
word_list.iter().flat_map(|s| s.split(".")).collect()
它在语义上等价于map(),然后等价于flatten():
map()
flatten()
word_list.iter().map(|s| s.split(".")).flatten().collect()
1条答案
按热度按时间mwkjh3gx1#
使用
flat_map()
:它在语义上等价于
map()
,然后等价于flatten()
: