質問編集履歴

1

誤った理解を促す可能性がある記述を削除

2016/11/07 01:41

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,4 @@
16
16
 
17
17
  ```
18
18
 
19
-
20
-
21
- これらの結果が示しているのは,リスト内包表記が単なる配列を戻り値を返すメソッドのsyntax sugarではないことを示していると思いますが,extendを実行する前の配列は参照を保持する変数に代入されなかったのでガーベジコレクションが働いてメモリ解放が起きていると考えるのが自然でしょうか。それとも,リスト内包表記は別のプロセスで用意されるため,[str(i) for i in range(10)].extend(['+','-','&','%'])の実行前に解放されているということでしょうか。この辺りの動作について実際どのような動作をしているのかが分からないのでご教授していただきたいです。よろしくお願い致します。
19
+ extendを実行する前の配列は参照を保持する変数に代入されなかったのでガーベジコレクションが働いてメモリ解放が起きていると考えるのが自然でしょうか。それとも,リスト内包表記は別のプロセスで用意されるため,[str(i) for i in range(10)].extend(['+','-','&','%'])の実行前に解放されているということでしょうか。この辺りの動作について実際どのような動作をしているのかが分からないのでご教授していただきたいです。よろしくお願い致します。