簡體   English   中英

如何在 python 中將平面列表轉換為二維數組?

[英]How can I turn a flat list into a 2D array in python?

我怎樣才能打開一個列表,例如:

data_list = [0,1,2,3,4,5,6,7,8,9]

進入一個看起來像這樣的數組(我正在使用 numpy):

data_array = [ [0,1] , [2,3] , [4,5] , [6,7] , [8,9] ]

我可以將列表開頭的段和 append 切片到一個空數組中嗎?

謝謝

>>> import numpy as np
>>> np.array(data_list).reshape(-1, 2)
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])

reshape方法在數組上返回一個新的“視圖”;它不復制數據。)

def nest_list(list1,rows, columns):    
        result=[]               
        start = 0
        end = columns
        for i in range(rows): 
            result.append(list1[start:end])
            start +=columns
            end += columns
        return result

為了:

 list1=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
nest_list(list1,4,4)

Output:

[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM