回答編集履歴
3
説明文修正
test
CHANGED
@@ -80,7 +80,7 @@
|
|
80
80
|
|
81
81
|
|
82
82
|
|
83
|
-
計算量自体は変わらないので、大規模なデータの扱いに対する回答ではありません。
|
83
|
+
計算量のオーダー自体は変わらないので、大規模なデータの扱いに対する回答ではありません。
|
84
84
|
|
85
85
|
明らかに冗長で効率化・改善が可能な部分の指摘です。
|
86
86
|
|
2
簡略化したコードの追加
test
CHANGED
@@ -58,11 +58,21 @@
|
|
58
58
|
|
59
59
|
# 中の要素を編集したい場合は
|
60
60
|
|
61
|
-
|
62
|
-
|
63
61
|
for num, name, text in items:
|
64
62
|
|
65
63
|
tree.insert("", "end", values=(num, name, text))
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
# 事前リストを作らず
|
68
|
+
|
69
|
+
def tree_insert(self):
|
70
|
+
|
71
|
+
tree_insert = self.tree.insert # ループ内で呼び出すメソッドをローカル変数に入れておく
|
72
|
+
|
73
|
+
for i in range(10000):
|
74
|
+
|
75
|
+
tree_insert("", "end", values=(i, "犬", "ワンと鳴く"))
|
66
76
|
|
67
77
|
```
|
68
78
|
|
1
不要なコードの削除
test
CHANGED
@@ -68,26 +68,6 @@
|
|
68
68
|
|
69
69
|
|
70
70
|
|
71
|
-
テスト用のデータであれば、ジェネレータにすれば事前のリストは作らずに済ませられます。
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
```python
|
76
|
-
|
77
|
-
def generate_tree_items(count):
|
78
|
-
|
79
|
-
for i in range(count):
|
80
|
-
|
81
|
-
yield (i, "犬", "ワンと鳴く")
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
for row in generate_tree_items(10000):
|
86
|
-
|
87
|
-
tree.insert("", "end", values=row)
|
88
|
-
|
89
|
-
```
|
90
|
-
|
91
71
|
|
92
72
|
|
93
73
|
計算量自体は変わらないので、大規模なデータの扱いに対する回答ではありません。
|