Was bringt der erste Index in Julia?

36

Aus der Dokumentation geht hervor, dass firstindex () den ersten Index einer Sammlung findet. Warum nicht einfach 1 verwenden? Was könnte der Fall sein, wenn es nicht 1 ist?

Alexey Petrushin
quelle

Antworten:

47

Der erste Index ist nicht unbedingt 1, da Julia die benutzerdefinierte Indizierung unterstützt . Um zu verstehen, warum es nützlich ist, können Sie den Blog-Beitrag von Tim Holy nicht schlagen .

Mit benutzerdefinierten Indizes können Sie Informationen zu Ihren Daten im Indizierungsmuster selbst codieren : Manchmal ist es natürlicher, von eins, manchmal von null, manchmal von einer beliebigen Zahl aus zu zählen.

In anderen Fällen, z. B. wenn Sie generische Algorithmen schreiben, ist Ihnen der spezifische Index nicht wirklich wichtig. In diesem Fall können Sie Abstraktionen wie verwenden firstindex, lastindexund eachindex.

In den meisten Fällen ist es besser, nicht auf einen Index zu verweisen und nur die Elemente einer Sammlung zu durchlaufen (z for x in xs. B. ).

Mit Julia können Sie die effektivste Strategie für Ihre Daten verwenden.

David Varela
quelle
„In diesem Fall können Sie Abstraktionen verwenden wie firstindex, lastindexund eachindexSie könnten sagen , dass Julia. Die Standards für Sie setzt ...
Vector Sigma
1
Können Sie Links zur Dokumentation für firstindex (), lastindex () und eachindex () hinzufügen?
Peter Mortensen
14

Es gibt spezielle Array-Typen wie beispielsweise OffsetArrays.jl, die beliebige Indizes haben können.

crstnbr
quelle