回答編集履歴
5
コード追記
test
CHANGED
@@ -54,4 +54,8 @@
|
|
54
54
|
|
55
55
|
{'id': 'title', 'username': 'test_user'}
|
56
56
|
|
57
|
+
>>> print(threads[0])
|
58
|
+
|
59
|
+
{'id': 'title'}
|
60
|
+
|
57
61
|
```
|
4
辞書破棄コード追記
test
CHANGED
@@ -17,3 +17,41 @@
|
|
17
17
|
|
18
18
|
|
19
19
|
と変更してみたら結果はどうなりますか?
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
updateした辞書データが破棄される状況は、これで伝わるでしょうか?
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
```python
|
28
|
+
|
29
|
+
>>> class Sample:
|
30
|
+
|
31
|
+
... def __getitem__(self, index):
|
32
|
+
|
33
|
+
... return {'id': 'title'}
|
34
|
+
|
35
|
+
...
|
36
|
+
|
37
|
+
>>> threads = Sample()
|
38
|
+
|
39
|
+
>>> print(threads[0])
|
40
|
+
|
41
|
+
{'id': 'title'}
|
42
|
+
|
43
|
+
>>> threads[0].update({'username': 'test_user'})
|
44
|
+
|
45
|
+
>>> print(threads[0])
|
46
|
+
|
47
|
+
{'id': 'title'}
|
48
|
+
|
49
|
+
>>> log = threads[0]
|
50
|
+
|
51
|
+
>>> log.update({'username': 'test_user'})
|
52
|
+
|
53
|
+
>>> print(log)
|
54
|
+
|
55
|
+
{'id': 'title', 'username': 'test_user'}
|
56
|
+
|
57
|
+
```
|
3
コード変更
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
```python
|
8
8
|
|
9
|
-
log = threads[0]
|
9
|
+
log = dict(threads[0])
|
10
10
|
|
11
11
|
log.update(username_dicts[0])
|
12
12
|
|
2
コード修正
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
```python
|
8
8
|
|
9
|
-
log =
|
9
|
+
log = threads[0]
|
10
10
|
|
11
11
|
log.update(username_dicts[0])
|
12
12
|
|
1
説明変更
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
`threads[0]` は、`threads.__getitem__(0)` というメソッド呼び出しをしています。
|
2
2
|
|
3
|
-
メソッドの中で毎回
|
3
|
+
メソッドの中で毎回辞書データを生成して返しているのであれば、updateした辞書はすぐに破棄されてしまいます。
|
4
4
|
|
5
5
|
|
6
6
|
|