我在Julia中从数组中删除特定元素时遇到了麻烦。
我有一个Job对象数组,每个对象都有自己的属性,当用户回答问卷时,我想从数组中删除与用户首选项不匹配的作业。
jobs = [retail, construction, nurse, programmer, engineer, law]
基本上,例如,如果用户不在外面工作,我会想删除构造。
在查看julia文档后,似乎没有一种方法可以简单地从基本数组中删除指定的值。有没有其他方法可以使用其他数据结构?
答案 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类型变量,但条件都是一般谓词 - 因此可以进行适当的修改。