朱莉娅:数组操作

时间:2015-11-15 20:39:31

标签: arrays data-structures julia

我在Julia中从数组中删除特定元素时遇到了麻烦。

我有一个Job对象数组,每个对象都有自己的属性,当用户回答问卷时,我想从数组中删除与用户首选项不匹配的作业。

jobs = [retail, construction, nurse, programmer, engineer, law]

基本上,例如,如果用户不在外面工作,我会想删除构造。

在查看julia文档后,似乎没有一种方法可以简单地从基本数组中删除指定的值。有没有其他方法可以使用其他数据结构?

2 个答案:

答案 0 :(得分:4)

我认为Set是用于此目的的数据结构的一个很好的选择,例如

jobs = Set(["retail", "construction", "nurse", "programmer"])

delete!(jobs, "nurse")
push!(jobs, "teacher")

答案 1 :(得分:0)

一个选项可能是:

jobs = filter(x->x != "construction",jobs)

另一种方法:

splice!(jobs,findfirst(x->x=="construction",jobs)

第三种选择:

jobs = jobs[map(x->x!="construction",jobs)]

我假设数组元素是字符串,但在问题中它们显示为Job类型变量,但条件都是一般谓词 - 因此可以进行适当的修改。