回答編集履歴

1

コメントへの回答追加

2021/11/03 14:24

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -29,3 +29,43 @@
29
29
 
30
30
 
31
31
  spectrogram[frame_idx, :] = log_absolute は、変数への代入ではなくndarrayのスライスへの代入ですので、そのようなことは起こりません。
32
+
33
+
34
+
35
+ コメントへの追加回答
36
+
37
+
38
+
39
+ - スライスへの代入ではなぜ起こらないのでしょうか?
40
+
41
+
42
+
43
+ そういうように、Pythonの文法で決めているからです
44
+
45
+ 詳細を知りたければ、[公式ドキュメント 言語リファレンス 7.2. 代入文 (assignment statement)](https://docs.python.org/ja/3/reference/simple_stmts.html#assignment-statements)の「ターゲットが変更可能なオブジェクト (属性参照、添字表記、またはスライス) の一部である場合」に続く部分をお読みください。
46
+
47
+
48
+
49
+ 例で理解したいなら、以下を実行してみて下さい。
50
+
51
+
52
+
53
+ ```Python
54
+
55
+ >>> list1 = ['A', 'B', 'C']
56
+
57
+ >>> list2 = ['1', '2']
58
+
59
+ >>> list1[1:] = list2
60
+
61
+ >>> print(list1)
62
+
63
+ ['A', '1', '2']
64
+
65
+ >>> list2[0] = 'abc'
66
+
67
+ >>> print(list1)
68
+
69
+ ['A', '1', '2']
70
+
71
+ ```