2014-07-01 213 views
1

我想用python代碼創建一個自填充矩陣(Dictionary?Index?我不知道它叫做什麼)。用循環創建一個矩陣Python

這裏有兩種方法我試過


currentstair = [i for i in range(FLOOR - 2)] 
for i in STAIRCASE: 
    staircasenetwork.append([currentstair]) 

for j in range (STAIRCASE): 
    for i in range (FLOOR - 2): 
     staircasenetwork.append([j]i) 

我想要列表開始爲[],並最終爲[1,2,3] [1,2,3]]

回答

0

你在正確的軌道上。你正在嘗試製作一個列表清單。理解如何做到這一點最簡單的方法可能是使用簡單的for循環來創建每個子列表。您可以使用range輕鬆創建子列表:

>>> staircasenetwork = [] 
>>> for i in range(2): 
...  staircasenetwork.append(range(1, 4)) 
... 
>>> staircasenetwork 
[[1, 2, 3], [1, 2, 3]] 
0

,因爲你的問題是有點不清楚的變量,你想有一個列表裏面有多少名單,我不明白你的問題了。但是,僅僅嘗試了這一點:

currentstair = [] 
for i in range(STAIRCASE): 
    currentstair.append([]) 
    for j in range(FLOOR - 2): 
     currentstair[-1].append(j+1) 

所以,如果您有:

STAIRCASE = 2 
FLOOR = 5 

則列表出落得會[1,2,3],[1,2,3]]

關於我的代碼的簡要說明:首先,currentstair被分配爲空列表[]。然後,在第一個循環之後,它會在對應於STAIRCASE變量(這是因爲您希望在您自己的列表中有2個列表)的列表中追加另一個空列表。在此之後,其它for循環將追加currentstair [-1](內側currentlist最近添加的列表)一個號j + 1,因爲FLOOR - 2等於5 - 2 = 3。因此, j + 1的值將等於1,2,3。因此,我們將在完成2個循環後有[[1,2,3],[1,2,3]]!