2017-07-05 34 views
0

私は長さ900の配列を持ち、最後の200要素を削除したいと思います。私は新しい配列を作成しても構いませんが、可能な限り簡潔で効率的なコードを作成したいと思います。リストから要素を削除する

f = [1,2,3,4,5,3,2,3,2,4,5,2....] #random one digit numbers of length 400. 
    t=400 
    x=200 
    while(t>x): 
     f = np.delete(f,t) 
     t = t-1 

これは間違いなく機能しますが、私は同じ仕事を少ない回線で、またはより高速で実行するものを探しています。

+0

'F = Fない理由[:700]' – Ding

+0

のpythonは、Aがありますスライスモード! – PRMoureu

+2

これは配列ではなく、* list *です。 –

答えて

3

を:

del f[-200:] 
3

あなたはリストのスライスを使用することができます:あなたはまた、新しいリストを作成せずに要素を削除することができます

f = [1,2,3,4,5,3,2,3,2,4,5,2....] 

f = f[:-200] 
+0

これは非常に簡単な解決策でもあります。 –

関連する問題