2015-11-15 86 views
3

我在Julia中從數組中刪除特定元素時遇到了問題。Julia:數組操作

我有一個Job對象數組,每個都有自己的屬性,並且當用戶回答調查問卷時,我想從陣列中刪除與用戶首選項不匹配的作業。

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

基本上,如果,例如,用戶不工作以外,我想刪除施工。

在查看julia文檔後,似乎沒有簡單地從基本數組中刪除指定值的方法。有沒有其他的方法來使用另一種數據結構來做到這一點?

+0

有'deleteat!'。 – tholy

回答

4

我認爲Set是用於此目的的數據結構的一個很好的選擇,例如,

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

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

甚至沒有想到,謝謝! – SteakStyles

0

一個選項可以是:

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

另一種方法:

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

第三個選項:

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

我假定陣列元件是字符串,雖然在問題他們出現作爲Job類型的變量,但條件都是一般謂詞 - 所以會適當修改上。

+0

我會玩一下這些方法,謝謝! – SteakStyles