配列(リスト)の埋め込み
現状のコード
python
1l = [[0 for i in range(5)] for j in range(5)] 2r=[[1],[1,1],[1,1,1]] 3 4# x=座標[横] y=座標[縦] z=埋め込む配列 5def Sample_Demo_New_Bloku1(x,y,z): 6 if l[x][y]==0:l[x][y]=z 7
r配列の1番目なら動作しますが、2番め以降はリストの長さが異なるので、
上手く行きません。
どうしたら、良いででしょうか?
#元の配列
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
加工後 パターンA
x=0,y=0,z=r[1]の場合
[[1, 1, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
加工後 パターンB
x=1,y=1,z=r[2]の場合
[[0, 0, 0, 0, 0], [0, 1, 1, 1, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
# 追記
昨日の夜は大分疲れてた見たいです。
朝起きたら普通にできました。
np系も欲しかったのでベストアンサーに選んで置きます。
python
1from pprint import pprint 2#pprint(l) 3 4l = [[0 for i in range(5)] for j in range(5)] 5r=[[1],[1,1],[1,1,1]] 6 7# x=座標x y=座標y z=埋め込む配列 8 9def Sample_Demo_New_Bloku2(x,y,z): 10 for i in range(len(z)): 11 l[x][i+y]=r[r.index(z)][i] 12 13Sample_Demo_New_Bloku2(0,0,r[1]) 14 15 16pprint(l)
Sample_Demo_New_Bloku1 関数を実行する部分の記載が抜けてます。具体的にどう使うつもりなのですか?
回答1件
あなたの回答
tips
プレビュー