10
Ich habe eine Liste:Elixier: Wie bekomme ich die letzten n Einträge in einer Liste?
a = [1,2,4,5,6,7,8,9,9,88,88]
In Python ist es einfach letzten n Elemente zu erhalten:
a[-n:]
Was Äquivalent in Elixir?
Ich würde diese Methode für sehr lange Listen nicht vorschlagen. Es wird mit der Zeit zunehmen, je länger die Listen werden, wenn Sie die Werte vom Ende her erfassen. – mjwrazor
@mjwrazor gibt es einen besseren Weg? – Dogbert
Verwenden Sie MapSet, [Timing] (https://gist.github.com/lexmag/32977ce8fd7cb44ddefa) 'list = MapSet.new ([1, 2, 4, 5, 6, 7, 8, 9, 9, 88, 88]) |> Enum.take (-4) '. Für Listen mit normaler Größe ist das in Ordnung, aber wenn Sie eine Liste mit 10 Millionen Elementen haben, verwenden Sie MapSet. – mjwrazor