回答編集履歴

1

解説を追記

2019/09/04 06:36

投稿

frodo821
frodo821

スコア322

test CHANGED
@@ -12,4 +12,28 @@
12
12
 
13
13
 
14
14
 
15
- これで行けるはずです
15
+ これで行けるはずです
16
+
17
+
18
+
19
+ ----
20
+
21
+ コードの解説
22
+
23
+
24
+
25
+ ```python
26
+
27
+ list(zip([a, b, c], [1, 2, 3]))
28
+
29
+ # -> [(a, 1), (b, 2), (c, 3)]
30
+
31
+ ```
32
+
33
+
34
+
35
+ zipはこういう風に、2つ以上のイテレータを1つのイテレータに纏める関数です。そして、sum関数はイテレータの要素の総和を求めます。
36
+
37
+
38
+
39
+ 実は、sum関数は文字列(バイト文字列含む)以外ならどのような型でも使えます。多次元リストに使えばflattenのように使えるということです。今回の場合、set型の集合差演算を使って差集合を求め、listに変えてからsumで一次元のリストにしています。