回答編集履歴

1

もうちょっと読みやすく

2018/06/27 15:00

投稿

YouheiSakurai
YouheiSakurai

スコア6142

test CHANGED
@@ -55,3 +55,31 @@
55
55
  print(*map(','.join, parse(data)), sep='\n')
56
56
 
57
57
  ```
58
+
59
+
60
+
61
+ # 追記: parseをもっと読みやすく
62
+
63
+ ```python
64
+
65
+ def parse(data):
66
+
67
+ for line in map(str.strip, data.splitlines()):
68
+
69
+ if not line:
70
+
71
+ pass
72
+
73
+ elif line.startswith('ABC'):
74
+
75
+ key, value = line, None
76
+
77
+ elif not value:
78
+
79
+ value = line
80
+
81
+ else:
82
+
83
+ yield from ((t, key, value) for t in line.split())
84
+
85
+ ```