回答編集履歴
2
修正
test
CHANGED
@@ -41,10 +41,6 @@
|
|
41
41
|
以下追加修正
|
42
42
|
|
43
43
|
'''
|
44
|
-
|
45
|
-
if stop >= len(a_tp):
|
46
|
-
|
47
|
-
return a_tp
|
48
44
|
|
49
45
|
# 集計数が同じ間は延長。異なれば打ち切る。
|
50
46
|
|
1
修正
test
CHANGED
@@ -1,20 +1,10 @@
|
|
1
|
-
|
1
|
+
たとえば第「10」位までであれば、
|
2
2
|
|
3
|
-
|
3
|
+
a_tp = [('aaa', 8) , ('bbb', 6), ('ccc', 6)...]
|
4
4
|
|
5
|
+
の「10番目」(インデックス「9」)以降の要素の集計数を、隣の要素の集計数と比較し、
|
5
6
|
|
6
|
-
|
7
|
-
|
7
|
+
集計数が等しければ、異なる集計数に出会うまで延長します。
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
(文字列, 個数)のリスト
|
12
|
-
|
13
|
-
↓
|
14
|
-
|
15
|
-
(個数:文字列)の辞書
|
16
|
-
|
17
|
-
|
18
8
|
|
19
9
|
```
|
20
10
|
|
@@ -22,13 +12,17 @@
|
|
22
12
|
|
23
13
|
'''
|
24
14
|
|
15
|
+
引数
|
16
|
+
|
25
|
-
|
17
|
+
stop:上位第何位まで返すかを指定。
|
18
|
+
|
19
|
+
list_txt:集計対象の文字列
|
26
20
|
|
27
21
|
'''
|
28
22
|
|
29
|
-
def top
|
23
|
+
def top(stop, list_txt):
|
30
24
|
|
31
|
-
|
25
|
+
|
32
26
|
|
33
27
|
list_lower = []
|
34
28
|
|
@@ -40,25 +34,25 @@
|
|
40
34
|
|
41
35
|
a_tp = sorted(a_dict.items(), key=lambda x:x[1], reverse=True)
|
42
36
|
|
43
|
-
|
37
|
+
|
44
|
-
|
45
|
-
以下追加
|
46
38
|
|
47
39
|
'''
|
48
40
|
|
49
|
-
|
41
|
+
以下追加修正
|
50
42
|
|
51
|
-
|
43
|
+
'''
|
52
44
|
|
53
|
-
f
|
45
|
+
if stop >= len(a_tp):
|
54
46
|
|
55
|
-
|
47
|
+
return a_tp
|
56
48
|
|
57
|
-
|
49
|
+
# 集計数が同じ間は延長。異なれば打ち切る。
|
58
50
|
|
59
|
-
|
51
|
+
while stop < len(a_tp) and a_tp[stop - 1][1] == a_tp[stop][1]:
|
60
52
|
|
53
|
+
stop += 1
|
54
|
+
|
61
|
-
return [
|
55
|
+
return a_tp[:stop]
|
62
56
|
|
63
57
|
```
|
64
58
|
|
@@ -80,7 +74,7 @@
|
|
80
74
|
|
81
75
|
for i in range(26):
|
82
76
|
|
83
|
-
txt.extend([chr(i+65)]*random.randint(1,20))
|
77
|
+
txt.extend([chr(i + 65)] * random.randint(1, 20))
|
84
78
|
|
85
79
|
|
86
80
|
|
@@ -92,10 +86,10 @@
|
|
92
86
|
|
93
87
|
|
94
88
|
|
95
|
-
print(top
|
89
|
+
print(top(10,txt))
|
96
90
|
|
97
91
|
|
98
92
|
|
99
|
-
>> [(
|
93
|
+
>> [('k', 20), ('s', 18), ('w', 18), ('p', 16), ('v', 15), ('e', 14), ('h', 14), ('m', 14), ('n', 13), ('q', 12), ('o', 12)]
|
100
94
|
|
101
95
|
```
|