python
1input_dic = {1: [[1, 3, 8]], 2: [], 3: [[2, 2, 7]], 4: [[3, 8, 1]]} 2ans = [] 3for i in range(1, 5): 4 if len(input_dic[i]) > 0: 5 room_list = [[0] * 10] * 3 6 print(input_dic[i]) 7 for item in input_dic[i]: 8 room_list[item[0] - 1][item[1] - 1] += item[2] 9 ans.append(room_list) 10print(ans) 11 12# output 13# [[[0, 0, 8, 0, 0, 0, 0, 0, 0, 0], 14# [0, 0, 8, 0, 0, 0, 0, 0, 0, 0], 15# [0, 0, 8, 0, 0, 0, 0, 0, 0, 0]], 16# [[0, 7, 0, 0, 0, 0, 0, 0, 0, 0], 17# [0, 7, 0, 0, 0, 0, 0, 0, 0, 0], 18# [0, 7, 0, 0, 0, 0, 0, 0, 0, 0]], 19# [[0, 0, 0, 0, 0, 0, 0, 1, 0, 0], 20# [0, 0, 0, 0, 0, 0, 0, 1, 0, 0], 21# [0, 0, 0, 0, 0, 0, 0, 1, 0, 0]]]
for item in input_dic[i]: でループは一回のみで、room_list[行指定][列指定] = 値 により一つの値しか更新されないはずだが、出力は3行変化している。なぜだかわかりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/20 07:33 編集