回答編集履歴

5

なんか編集が反映されていなかったので

2017/10/16 07:35

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
File without changes

4

成形

2017/10/16 07:35

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- """実行結果
47
+ """実行結果(修正前)
48
48
 
49
49
  1234567;7890984
50
50
 
@@ -68,6 +68,44 @@
68
68
 
69
69
 
70
70
 
71
+ """実行結果(修正後)
72
+
73
+ 1234567;7890984
74
+
75
+ 3
76
+
77
+ 2345678;8979894
78
+
79
+ 2
80
+
81
+ 1345678;9868465
82
+
83
+ 1
84
+
85
+ """
86
+
87
+ ```
88
+
89
+
90
+
91
+ 前回書いたのは書き捨てのプログラムだったため、変更が必要でした。
92
+
93
+ どんどん仕様が増えていくと、コーディングの見通しが立ちません。
94
+
95
+ **出来るだけ序盤に『何が出来る必要があるのか』を明確にするようにしてください。**
96
+
97
+
98
+
99
+ > 下記のようなデータが100万近くあります。
100
+
101
+
102
+
103
+ このスクリプトがエラーなく動けばいいですが、ちょっと自信がないです。
104
+
105
+ 大きなデータに対応させるためには、工夫が必要かもしれません。
106
+
107
+
108
+
71
109
  > その要素の最初の一つとそれについての要素数を書き出したいです。
72
110
 
73
111
 
@@ -76,28 +114,6 @@
76
114
 
77
115
 
78
116
 
79
- ```
80
-
81
-
82
-
83
- 前回書いたのは書き捨てのプログラムだったため、変更が必要でした。
84
-
85
- どんどん仕様が増えていくと、コーディングの見通しが立ちません。
86
-
87
- **出来るだけ序盤に『何が出来る必要があるのか』を明確にするようにしてください。**
88
-
89
-
90
-
91
- > 下記のようなデータが100万近くあります。
92
-
93
-
94
-
95
- このスクリプトがエラーなく動けばいいですが、ちょっと自信がないです。
96
-
97
- 大きなデータに対応させるためには、工夫が必要かもしれません。
98
-
99
-
100
-
101
117
  ---
102
118
 
103
119
  また、別に著作権云々大騒ぎする気はありませんが...

3

追記

2017/10/16 07:26

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -26,9 +26,9 @@
26
26
 
27
27
  for key, values in sorted(data_dict.items(), key=lambda x: -len(x[1])):
28
28
 
29
- for value in values:
29
+ # for value in values:
30
-
30
+
31
- print(key + ';' + value)
31
+ # print(key + ';' + value)
32
32
 
33
33
 
34
34
 
@@ -38,6 +38,8 @@
38
38
 
39
39
  else:
40
40
 
41
+ print(key + ';' + values[0])
42
+
41
43
  print(len(values))
42
44
 
43
45
 
@@ -64,6 +66,16 @@
64
66
 
65
67
  """
66
68
 
69
+
70
+
71
+ > その要素の最初の一つとそれについての要素数を書き出したいです。
72
+
73
+
74
+
75
+ 修正しました。
76
+
77
+
78
+
67
79
  ```
68
80
 
69
81
 

2

追記

2017/10/16 06:47

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -162,6 +162,34 @@
162
162
 
163
163
 
164
164
 
165
+ さらに、コメントを受けて
166
+
167
+ ---
168
+
169
+ > 1回目は (中略) TypeError:cannot concatenate 'str' and 'int' objects
170
+
171
+
172
+
173
+ エラーメッセージこそ異なりますが、こういうことです。
174
+
175
+ ```Python
176
+
177
+ >>> 'hoge' + 1
178
+
179
+ Traceback (most recent call last):
180
+
181
+ File "<stdin>", line 1, in <module>
182
+
183
+ TypeError: must be str, not int
184
+
185
+ >>> 'hoge' + str(1)
186
+
187
+ 'hoge1'
188
+
189
+ ```
190
+
191
+
192
+
165
193
  ---
166
194
 
167
195
  あとは、質問者様ご自身がどのような工夫をしたのか見えるといいですね。

1

追記

2017/10/16 06:37

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -116,6 +116,50 @@
116
116
 
117
117
  > 引用符をつけると、このようになります。
118
118
 
119
+ > ```Python
120
+
121
+ > コードも引用できます。
122
+
123
+ > ```
124
+
125
+
126
+
127
+ 追記を受けて
128
+
129
+ ---
130
+
131
+ > 最後のf3.write(str1)のところで通りません。
132
+
133
+ > TypeError: expected a character buffer object
134
+
135
+
136
+
137
+ エラーが再現出来ていないのですが、おそらく数値を渡しているのが原因です。
138
+
139
+ 文字列にキャストしてあげてください。
140
+
141
+ ```Python
142
+
143
+ str1 = len(values)
144
+
145
+ f3.write(str(str1))
146
+
147
+ ```
148
+
149
+
150
+
151
+ ついでに、最後closeするものを間違えています。
152
+
153
+ > ```Python
154
+
155
+ > f.close()
156
+
157
+ > ```
158
+
159
+
160
+
161
+ 明示的に閉じる必要があるのはfではなくf3では。
162
+
119
163
 
120
164
 
121
165
  ---