前提・実現したいこと
Python3.9.2でGoogleスプレッドシートから文字を読み取り、リストに格納するプログラムを作成しております。
スプレッドシートには
a1 a2 a3 ××
b1 b2 b3 ××
c1 c2 c3 ××
d1 d2 d3 ××
と文字列が並んでおります。
それを1つ1つ読み取り、リストに代入することで、このような多次元配列の文字列のデータセットにしたいと考えております。
[["a1", "b1", "c1", "d1", "・・"], ["a2", "b2", "c2", "d2", "・・"], ・・["ax", "bx", "・・]]
発生している問題・エラーメッセージ
ここで、多次元配列のリストに文字列を格納するやり方がわからず、手が止まってしまいました。。。
例えば3次元配列で値0で初期化されているlist_testに対して、以下のことを試しております。
(1) append() → 全ての要素の末尾に追加されてしまう
list_test[0].append("a1")
とすると、[[0, 0, 0, 'a1'], [0, 0, 0, 'a1'], [0, 0, 0, 'a1']]となってしまいます。
実現したいのは[['a1', 0, 0],[0,0,0],[0,0,0]]なのです。。。
なお、list_test.append("a1")としても、[[0, 0, 0], [0, 0, 0], [0, 0, 0], 'a1']となるため、これは実現したい形ではありません。
(2) insert()も同様でNG
(3) 直接代入も同様でNG
list_test[0][0] = "a1" とすると
[['a1', 0, 0], ['a1', 0, 0], ['a1', 0, 0]] となってしまいます。。
a1を[0][0]、a2を[0][1]、b1を[1][0]、・・・のようにリストへ代入していくにはどのようにしたらよいものでしょうか?
Webでググっても、appendやinsertの基本的な使い方ばかりで、多次元配列のこうした扱いが見つからずこちらでご質問をさせていただきます。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/13 20:50