2011-01-24 24 views
1

我希望得到一些提示,我應該採取什麼方向,完成以下內容;Python 3.1 - 網格模擬

我需要一個整數列表,並將其轉換爲網格;整數是隨機放置的(多維數組?)。然後我需要一個函數,當我選擇並修改其中一個網格元素時,所有的周圍元素也會受到影響。

預先感謝您的時間!

+1

你的問題確實含糊不清。 AFAIU,你需要將1維列表轉換爲2維列表,對吧? (你想寫人生遊戲嗎?) – 2011-01-24 02:59:14

+0

是的,它會是二維的。根據我所理解的生活遊戲,沒有不是真的繼續嗎?我想要修改網格中的單個元素,並讓相鄰元素也發生變化。然後我會對現在修改的網格進行採樣。然而,我會尋找這種生活遊戲的python實現,因爲它可能會有所幫助。 – jimy 2011-01-24 05:15:02

回答

2

嗯,這裏是一個快速:

1d_list = [45, 18, 77, 24, 47, 88, 61, 96, 46, 97, 16, 65, 39, 56, 14, 48, 87, 44, 91, 22, 21, 38, 59, 95, 75, 80, 20, 51, 66, 62, 50, 82, 60, 57, 10, 23, 6, 8, 28, 83, 71, 76, 36, 32, 90, 29, 40, 37] // I didn't write this ;) 

2d_list = [] 

for y in range(6): 
    holder = [] 

    for x in range(8): 
    holder.append(x) 

    2d_list.append(y) 
    2d_list[y].append(holder) 

現在,你可以只使用2d_list就像你一個正常的座標系:

print 2d_list[0][4] // Output: 47 

好運。如果它會很大,你需要使用Python Arrays,因爲列表和字典不會因爲速度問題而被削減(我可能會被混淆)。應該是是Python中的C數組實現,對?)。