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

誰かが助けてくれることを願っています。

4

2 に答える 2

6

私はPythonにかなり慣れていませんが、コードを正しく理解していれば、指定されたオフセットから、offset+1に続くすべてのアイテムとオフセットにあるアイテムにリストを再構築します。

それを実行すると、これを確認するようです:

>>> 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で書くことができます:

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

同じシーケンス全体が実行されます。

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

これが機能するのは、スプライスが配列を破壊するが、削除された要素を返し、それが連結に渡される可能性があるためです。

于 2009-05-17T02:02:09.033 に答える
1

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];
}
于 2009-05-16T12:49:51.840 に答える