numpyを使わずに多次元配列の列の抽出


numpyを使わずにコードが1行ぐらいで収まり速度も速い  
列の抽出をしたいと考えています。

と、言いますのも  
<https://x1.inkenkun.com/archives/861>  
こちらの記事など他にもかなり調べてみたのですが  
配列・要素の挿入・削除等の基本的な計算は  
numpyを使わない方が速度が速いようです。  
np.dot や np.exp(-x) の時はコードが見やすくて助かるのですが

numpyを使わずに列の抽出ができないとなれば  
for文で1つずつ要素を新しい配列に追加していくしかないのかなと  
考えています。

解決策でなくとも、みなさんなりのご意見がございましたら頂戴したいです。  
なにとぞ、よろしくお願い申し上げます。




jupyter notebook を使うとコードの実行時間を簡単に計ることができます。  
numpyの配列を使った方が遥かに速いです。

[code]

    n = 1000000
    
    %timeit xs = [i for i in range(n)]
    10 loops, best of 3: 70.3 ms per loop
    
    %timeit xs = [None] * n
    100 loops, best of 3: 3.49 ms per loop
    
    import numpy as np
    
    %timeit a = np.arange(n)
    1000 loops, best of 3: 1.08 ms per loop
    
    %timeit a = np.zeros(n)
    The slowest run took 5.87 times longer than the fastest. This could mean that an intermediate result is being cached.
    1000 loops, best of 3: 456 µs per loop
    
[/code]

jupyter notebookをインストールするのが面倒な場合は [Google
Colabotry](https://colab.research.google.com/) が、無料ですぐに使えます。

