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

これは格子状の構造を作るためのテストでした。つまり、整数に添字を付けることはできないため、ネストされたリストにはアクセスできません。私はこのような問題を見たことがあるが、それは想起の問題ではない。助言がありますか?ネストされた文字列にアクセスするには?

+2

「グリッド」(リスト)の最初の要素を取り、(2位で)その第三の要素を設定します
grid[0][2] = 'a' 

をあなたがそれにアクセスすることを学んだ後、変更可能なオブジェクトについて学ばなければならないでしょう...ただsayin ' – JBernardo

+1

JBernandoがおそらく言っているのは、変更可能なオブジェクトに対して '[...] * n'を使用できないということです。グリッド内のその文字列の他のすべてのインスタンスが自動的に変更されます。具体的に言うと、文字列はPythonでは効果的に不変なので、問題は '['x'] * w'ではありませんが' rows = [['a'、 'b'、 'c']] * 3 '行を変更すると、他のすべての行が変更されます。範囲(numRows)]のrに対して '[['x'を範囲(numCols)のcに使う]。 – ninjagecko

+1

... addendum: '[[x '] * 3 in c(numCols)]'は、内部リストが毎回再作成されるので動作します。 – ninjagecko

答えて

3

私はあなたが意味しているかもしれないと思う:「」

+1

それはまさに私が探していたものです。ありがとう! – nebuch

+0

@FelixTyson:あなたを助けてくれた回答をupvoteして受け入れることを忘れないでください。 :) –

関連する問題