用法:
Iterators.filter(flt, itr)
給定一個謂詞函數 flt
和一個可迭代對象 itr
,返回一個可迭代對象,該對象在迭代時產生滿足 itr
的元素 x
滿足 flt(x)
。原始迭代器的順序被保留。
這個函數是lazy
;也就是說,保證在 時間內返回並使用 額外空間,並且 flt
不會被調用 filter
調用。迭代返回的可迭代對象時將調用flt
。這些調用不會被緩存,重複調用時會重複調用。
請參閱 Base.filter
,了解數組過濾的即刻實現。
例子
julia> f = Iterators.filter(isodd, [1, 2, 3, 4, 5])
Base.Iterators.Filter{typeof(isodd), Vector{Int64}}(isodd, [1, 2, 3, 4, 5])
julia> foreach(println, f)
1
3
5
julia> [x for x in [1, 2, 3, 4, 5] if isodd(x)] # collects a generator over Iterators.filter
3-element Vector{Int64}:
1
3
5
相關用法
- Julia Iterators.flatten用法及代碼示例
- Julia Iterators.partition用法及代碼示例
- Julia Iterators.rest用法及代碼示例
- Julia Iterators.enumerate用法及代碼示例
- Julia Iterators.zip用法及代碼示例
- Julia Iterators.drop用法及代碼示例
- Julia Iterators.countfrom用法及代碼示例
- Julia Iterators.Stateful用法及代碼示例
- Julia Iterators.product用法及代碼示例
- Julia Iterators.accumulate用法及代碼示例
- Julia Iterators.map用法及代碼示例
- Julia Iterators.dropwhile用法及代碼示例
- Julia Iterators.peel用法及代碼示例
- Julia Iterators.reverse用法及代碼示例
- Julia Iterators.repeated用法及代碼示例
- Julia Iterators.takewhile用法及代碼示例
- Julia Iterators.cycle用法及代碼示例
- Julia Iterators.take用法及代碼示例
- Julia IteratorsMD.CartesianIndex用法及代碼示例
- Julia IteratorsMD.CartesianIndices用法及代碼示例
- Julia InteractiveUtils.supertypes用法及代碼示例
- Julia IdDict用法及代碼示例
- Julia InteractiveUtils.subtypes用法及代碼示例
- Julia Inf用法及代碼示例
- Julia IOBuffer用法及代碼示例
注:本文由純淨天空篩選整理自julialang.org大神的英文原創作品 Base.Iterators.filter — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。