gpt4 book ai didi

Julia 在整数数组中搜索标记的方法

转载 作者:行者123 更新时间:2023-12-04 20:55:34 26 4
gpt4 key购买 nike

假设我有 buffer=Int[1,2,3,2,3]token=[2,3] .
是否有任何首选方式来搜索 token 的出现?在 buffer找到 [2,4] 作为答案。

或者,也许,是否有任何 split julia 中整数数组的等效函数?

(我知道如何使用 2 个嵌套循环执行此操作。但是,如果有更多的 Julian 方法来执行此操作,我特别感兴趣。)

最佳答案

因为 Julia 在列表推导式中没有条件,我个人会使用 filter() .因此,如果 arr = Int64[1,2,3,4,5,2,3,6,2,3,3,2,2] :

filter(x -> arr[x] == 2 && arr[x + 1] == 3, 1 : length(arr) - 1)

=> [2,6,9]

为了使它更可重用:
pat = [2,3]

filter(x -> arr[x : x + length(pat) - 1] == pat, 1 : length(arr) - length(pat) + 1)

=> [2,6,9]

Julia 确实有像 find([fun], A) 这样的内置插件,但我不知道使用它们来返回有序子列表的索引。

当然,它可以说更易读
ndxs = Int64[]

for i = 1:length(arr)-1
if arr[i] == 2 && arr[i+1] == 3
push!(ndxs, i)
end
end

=> [2,6,9]

关于Julia 在整数数组中搜索标记的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30693587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com