¿Cuál es el punto del primer índice en Julia?

36

De la documentación dice firstindex () encuentra el primer índice de una colección. ¿Por qué no solo usar 1? ¿Cuál podría ser el caso cuando no es 1?

Alexey Petrushin
fuente

Respuestas:

47

El primer índice no es necesariamente 1 porque Julia admite la indexación personalizada . Para entender por qué es útil, no puedes superar la publicación de blog de Tim Holy .

Los índices personalizados le permiten codificar información sobre sus datos en el patrón de indexación : a veces es más natural comenzar a contar desde uno, a veces desde cero, a veces desde un número más arbitrario.

Otras veces, como cuando está escribiendo algoritmos genéricos, realmente no le importa el índice específico. En este caso, puede utilizar abstracciones tales como firstindex, lastindex, y eachindex.

Muy a menudo, es mejor evitar referirse a un índice por completo y simplemente iterar sobre los elementos de una colección (por ejemplo for x in xs).

Julia le permite utilizar la estrategia más efectiva para sus datos.

David Varela
fuente
"En cuyo caso puedes usar abstracciones como firstindex, lastindexy eachindex. Podrías decir que Julia establece los estándares para ti ...
Vector Sigma
1
¿Puede agregar enlaces a la documentación de firstindex (), lastindex () y eachindex ()?
Peter Mortensen
14

Hay tipos de matriz especiales como, por ejemplo, OffsetArrays.jl que pueden tener índices arbitrarios.

crstnbr
fuente