Frage

indices[i:] = indices[i+1:] + indices[i:i+1]

Hope jemand hilft.

War es hilfreich?

Lösung

Ich bin ziemlich neu in Python, aber wenn ich den Code richtig verstehen, rekonstruiert er eine Liste von einem in jedes Element angegebener Offset folgende Offset + 1 und das Element bei der Offset.

Beim Laufen scheint dies zu bestätigen:

>>> indices = ['one','two','three','four','five','six']
>>> i = 2
>>> indices[i:] = indices[i+1:] + indices[i:i+1]
>>> indices
['one', 'two', 'four', 'five', 'six', 'three']

In Javascript geschrieben werden kann:

indices = indices.concat( indices.splice( i, 1 ) );

Samen gesamte Sequenz würde:

>>> var indices = ['one','two','three','four','five','six'];
>>> var i = 2;
>>> indices = indices.concat( indices.splice( i, 1 ) );
>>> indices
["one", "two", "four", "five", "six", "three"]

Das funktioniert, weil Spleiß ist destruktiv auf das Array kehrt aber entfernt Elemente, die dann übergeben werden können, um concat .

scroll top