回答編集履歴
2
追記
answer
CHANGED
@@ -43,4 +43,6 @@
|
|
43
43
|
```
|
44
44
|
|
45
45
|
実行例
|
46
|
-

|
46
|
+

|
47
|
+
|
48
|
+
処理をまとめるときには、事前に作業変数を宣言せずに、lis だけを使って書くのが好ましいです。(個人的な嗜好)
|
1
修正
answer
CHANGED
@@ -19,18 +19,23 @@
|
|
19
19
|
print("lis に含まれていない要素を列挙する")
|
20
20
|
print(" lis4 = ", lis4)
|
21
21
|
|
22
|
+
print("lis を 展開する")
|
23
|
+
lis_ex = list(map(lambda x: list([e for e in range(x[0], x[1] + 1)]), lis))
|
24
|
+
print("lis_ex", lis_ex)
|
25
|
+
|
22
|
-
lis5 = sorted(lis4 +
|
26
|
+
lis5 = sorted(lis4 + lis_ex)
|
23
27
|
print("両者を結合してソートする")
|
24
28
|
print(" lis5 = ", lis5)
|
25
29
|
|
26
30
|
print("サイズ 1 の要素は list から int に変換する")
|
27
|
-
lis6 = list(map(lambda x: x if len(x) ==
|
31
|
+
lis6 = list(map(lambda x: x[0] if len(x) == 1 else x, lis5))
|
28
32
|
print(" lis6 = ", lis6)
|
29
33
|
|
30
34
|
# 上の処理を1 行にまとめる
|
31
35
|
result = list(
|
32
|
-
map(lambda x: x if len(x) ==
|
36
|
+
map(lambda x: x[0] if len(x) == 1 else x,
|
37
|
+
sorted(list(map(lambda y1: list([e for e in range(y1[0], y1[1] + 1)]), lis))
|
33
|
-
|
38
|
+
+ [[y] for y in range(0, lis[-1][1])
|
34
39
|
if y not in sum(list(map( lambda z: list(range(z[0], z[1] + 1)), lis)), [])])
|
35
40
|
)
|
36
41
|
)
|
@@ -38,4 +43,4 @@
|
|
38
43
|
```
|
39
44
|
|
40
45
|
実行例
|
41
|
-

|