2012-04-01 111 views
0
grid = [ ['x'] * w ] * h 
grid[0[2]] = 'a' 

這是一個測試,使網格狀結構。問題是,我無法訪問嵌套列表,因爲整數不能被下標。我見過這樣的問題,但他們不是一個回顧問題。有什麼建議麼?如何訪問嵌套的字符串?

+2

在你學習訪問它之後,你將不得不學習可變對象......只要說' – JBernardo 2012-04-01 18:40:39

+1

JBernando可能說的是,如果你打算修改這個可變對象,你不能使用'[n] * n'作爲可變對象。字符串,否則網格中該字符串的每個其他實例都將自動從您下方更改。詳細來說,字符串在python中是不可變的,所以它不是'['x'] * w'這是問題,但是如果'rows = [['a','b','c']] * 3',並修改一行,其他所有行都會改變。在範圍(numRows)]中使用'[['x'爲範圍內的c(numCols)]。 – ninjagecko 2012-04-01 18:42:45

+1

... addendum:'[['x'] * 3 for c in range(numCols)]'也可以工作,因爲每次都會重新創建內部列表。 – ninjagecko 2012-04-01 18:48:01

回答

3

我想你可能意味着:

grid[0][2] = 'a' 

,將採取在「網格」(列表)的第一個元素,並設置其3元(在位置2)以「A」

+1

這正是我正在尋找的。謝謝! – nebuch 2012-04-01 18:54:19

+0

@FelixTyson:不要忘記註冊並接受幫助你的答案。 :) – 2012-04-01 20:57:33