le code de python de port javascript
-
22-08-2019 - |
Question
indices[i:] = indices[i+1:] + indices[i:i+1]
quelqu'un Hope aide.
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