Question

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

quelqu'un Hope aide.

Était-ce utile?

La solution

Je suis assez nouveau pour Python, mais si je comprends bien le code correctement, il reconstitue une liste d'un

offset donné dans tous les éléments suivants offset + 1 et l'élément à l'offset.

Running il semble confirmer ceci:

>>> 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']

Javascript peut être écrit:

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

séquence entière en irait de même:

>>> 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"]

Cela fonctionne parce que épissures est destructeur pour le tableau mais les rendements des éléments supprimés, ce qui peut ensuite être remis à concat .

Autres conseils

Vous voulez regarder Array.slice ()

var temp=indices.slice(i+1).concat(indices.slice(i, i+1));
var arr=[];
for (var j=0; j<temp.length; j++){
   arr[j+i]=temp[i];
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top