Qual è il modo più semplice per trovare il primo indice di un elemento in un array in Julia?Trova il primo indice di un elemento in un array in Julia
12
A
risposta
19
Chiamare findin
è un'ottima scelta. C'è anche lo findfirst
e più in generale lo findnext
, che ti permette di ripartire da dove eri rimasto. Un vantaggio di questi due è che non è necessario allocare un array di output, quindi le prestazioni saranno migliori (se ci si interessa).
Inoltre, tieni presente che (a differenza di altre lingue a cui potresti essere abituato) i loop di Julia sono veloci e, di conseguenza, puoi sempre scrivere da solo funzioni così semplici. Per vedere cosa intendo, dai un'occhiata all'implementazione di findnext
(in base/array.jl
); non c'è niente di "stravagante" a riguardo, tuttavia si ottiene una prestazione che è altrettanto buona di quella che si otterrebbe se fosse stata implementata in C.
Grazie, sapevo che ci doveva essere una funzione per questo :) – fhucho