teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

修正

2020/07/22 05:14

投稿

yu3aw
yu3aw

スコア0

title CHANGED
File without changes
body CHANGED
@@ -7,21 +7,8 @@
7
7
  解決したいこと2つ目 → なぜdequeしか上書きしてないのにlistも上書きされるのかその原理を知りたい
8
8
 
9
9
 
10
- ### 発生している問題・エラーメッセージ
11
10
 
12
11
 
13
- デックを上書きしたのに(リストは上書きしてないのに)
14
- リストが勝手に上書きされてる謎現象に困っています。
15
-
16
- プログラムの実行順は順次処理なので今回のようにリストが勝手に上書きされるのは間違いだと思うのですが、、、、。
17
-
18
-
19
- 以下が実行結果になります
20
- ```
21
- List=[{'key': 0}]
22
- List=[{'key': 20}]
23
- ```
24
-
25
12
  ### 該当のソースコード
26
13
 
27
14
  ```python
@@ -38,6 +25,24 @@
38
25
  print(f"List={List}")
39
26
  ```
40
27
 
28
+ ### 発生している問題・エラーメッセージ
29
+
30
+
31
+ 以下が実行結果になります
32
+ ```
33
+ List=[{'key': 0}]
34
+ List=[{'key': 20}]
35
+ ```
36
+
37
+
38
+ デックを上書きしたのに(リストは上書きしてないのに)
39
+ リストが勝手に上書きされてる謎現象に困っています。
40
+
41
+ プログラムの実行順は順次処理なので今回のようにリストが勝手に上書きされるのは間違いだと思うのですが、、、、。
42
+
43
+
44
+
45
+
41
46
  ### 試したこと
42
47
 
43
48
  何かのバグかと思い

4

修正

2020/07/22 05:14

投稿

yu3aw
yu3aw

スコア0

title CHANGED
File without changes
body CHANGED
@@ -15,7 +15,6 @@
15
15
 
16
16
  プログラムの実行順は順次処理なので今回のようにリストが勝手に上書きされるのは間違いだと思うのですが、、、、。
17
17
 
18
- 例えるなら、変数aしか上書きしてないのに変数aとbどちらも上書きされる現象です
19
18
 
20
19
  以下が実行結果になります
21
20
  ```

3

修正

2020/07/22 05:11

投稿

yu3aw
yu3aw

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- listをdequeから作った時、勝手に上書きされる謎現象(順次処理が成り立ってない現象)
1
+ listをdequeから作った時、勝手に上書きされる謎現象(順次処理が成り立ってないような現象)
body CHANGED
File without changes

2

修正

2020/07/22 05:05

投稿

yu3aw
yu3aw

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- listをdequeから作った時、勝手に上書きされる謎現象
1
+ listをdequeから作った時、勝手に上書きされる謎現象(順次処理が成り立ってない現象)
body CHANGED
@@ -13,6 +13,8 @@
13
13
  デックを上書きしたのに(リストは上書きしてないのに)
14
14
  リストが勝手に上書きされてる謎現象に困っています。
15
15
 
16
+ プログラムの実行順は順次処理なので今回のようにリストが勝手に上書きされるのは間違いだと思うのですが、、、、。
17
+
16
18
  例えるなら、変数aしか上書きしてないのに変数aとbどちらも上書きされる現象です
17
19
 
18
20
  以下が実行結果になります
@@ -45,9 +47,17 @@
45
47
  どなたかご教授お願いいたします。
46
48
 
47
49
 
48
- 本来なら下記のような挙動になって欲しいのですがdequeを使うと上記の謎現象が起きていて且つその理由も分からず困っているわけです
50
+ 本来なら下記の結果になって欲しいのです
49
51
 
50
52
  ```
53
+ List=[{'key': 0}]
54
+ List=[{'key': 0}]
55
+ ```
56
+
57
+
58
+
59
+ ↓もっと分かりやすい例で例えると、下記のような挙動になって欲しいのです
60
+ ```
51
61
  a = 1
52
62
 
53
63
  b = a

1

追加

2020/07/22 05:01

投稿

yu3aw
yu3aw

スコア0

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,12 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- listをdequeから作った時、勝手に上書きされる謎現象を解決したい
3
+ listをdequeから作った時、勝手に上書きされる謎現象を解決したい
4
4
 
5
+ 解決したいこと1つ目 → dequeだけを上書きしてlistは上書きされないようにしたい
6
+
7
+ 解決したいこと2つ目 → なぜdequeしか上書きしてないのにlistも上書きされるのかその原理を知りたい
8
+
9
+
5
10
  ### 発生している問題・エラーメッセージ
6
11
 
7
12
 
@@ -37,4 +42,26 @@
37
42
  何かのバグかと思い
38
43
  pythonやanacondaのバージョンを最新版にして実行してみても同じ現象が起きました。
39
44
  この勝手に上書きされてる現象に頭を悩ませているので何とか解決したいです。
40
- どなたかご教授お願いいたします。
45
+ どなたかご教授お願いいたします。
46
+
47
+
48
+ 本来なら下記のような挙動になって欲しいのですがdequeを使うと上記の謎現象が起きていて且つその理由も分からず困っているわけです
49
+
50
+ ```
51
+ a = 1
52
+
53
+ b = a
54
+
55
+ print(f"b={b}")
56
+
57
+ a = 2
58
+
59
+ print(f"b={b}")
60
+
61
+ ```
62
+
63
+ 結果
64
+ ```
65
+ b=1
66
+ b=1
67
+ ```