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

回答編集履歴

1

edit

2018/02/21 14:28

投稿

mkgrei
mkgrei

スコア8562

answer CHANGED
@@ -2,4 +2,25 @@
2
2
 
3
3
  一度しか検索しないのであればO(N)を我慢するしかありません。
4
4
 
5
- 何度も検索するのであれば、最初にそのための辞書を作ってからの方が速くなります。
5
+ 何度も検索するのであれば、最初にそのための辞書を作ってからの方が速くなります。
6
+
7
+ ---
8
+
9
+ 衝突回避版。
10
+
11
+ ```python
12
+ test_dict = {
13
+ "A":["A","B","C"],
14
+ "B":["B","C","D"],
15
+ "X":["X","Y","Z"],
16
+ }
17
+
18
+ test_dict_1 = {}
19
+ for k, v in test_dict.items():
20
+ if v[1] in test_dict_1:
21
+ test_dict_1[v[1]].append(k)
22
+ else:
23
+ test_dict_1[v[1]] = [k]
24
+
25
+ print([test_dict[k] for k in test_dict_1['B']])
26
+ ```