pythonではlistとarrayが互いに変換されます.


arrayをlistに変換するのは簡単です.以下のようにします.
#array to list
import numpy as np  #array  ,         ,       ,         。
#matrix=[0 for i in range(4)]  #        list object,   list    
matrix_array=np.random.randint(0,3,(2,3))
#    
#array = np.empty((5, 4), dtype=int)    #          
matrix_list = matrix_array.tolist()

リストを配列に変換します.
リストには異なるタイプの要素が格納されるため、配列に変換する際に変換が間違っていないことを保証するために、タイプが一致しているかどうかを確認し、数字があり、文字のあるリストがarrayに変換されると文字配列になります.
import numpy as np
# define list
array = np.asarray(list)
#the second method
array = np.array(list, dtype = int)

Listオブジェクトの一般的な方法は、次のとおりです.
list=[1,2,3,4,5]   #list    []  ,tuple    ()  
list.insert(1, 'content')    #         
list.pop()    #          
list.pop(i)    #         ,i 0  
list[-1]    #    

リストをarrayにすばやく変換する関数について説明します.コードはTSN_から来ています.ECCV 2016、以下の通り.
def fast_list2arr(data, offset=None, dtype=None):
    """
    Convert a list of numpy arrays with the same size to a large numpy array.
    This is way more efficient than directly using numpy.array()
    See
        https://github.com/obspy/obspy/wiki/Known-Python-Issues
    :param data: [numpy.array]
    :param offset: array to be subtracted from the each array.
    :param dtype: data type
    :return: numpy.array
    """
    num = len(data)
    out_data = np.empty((num,)+data[0].shape, dtype=dtype if dtype else data[0].dtype)
    for i in xrange(num):
        out_data[i] = data[i] - offset if offset else data[i]
    return out_data

このメソッドの各要素はarrayですが、オブジェクト全体がarray listであり、caffeネットワークに送られて予測するにはarray of arrayに変換します.原理は、空間を申請してarrayリストの各要素を1つずつコピーすることです.
使用するときに便利です.以下の画像の処理です.
frame = fast_list2arr([cv2.resize(x, frame_size) for x in frame])