回答編集履歴

1

説明追加

2021/03/21 13:29

投稿

ppaul
ppaul

スコア24666

test CHANGED
@@ -1 +1,11 @@
1
1
  ループの前に一回だけ数えるか、ループの中で毎回数えるかの違いです。
2
+
3
+
4
+
5
+ cnt = Counter(X)は、Xの要素をキーとして回数をバリューとする辞書を作ります。
6
+
7
+ ループの中では、この辞書からデータを取ってくるだけなので高速です。
8
+
9
+ 1番目ののコードは二重ループの中で毎回回数を数えています。
10
+
11
+ forループの中で Counter(X)[i]とかやれば、毎回回数を数えるので同じように遅くなります。