回答編集履歴

2

追記

2021/12/19 05:51

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -89,3 +89,7 @@
89
89
  実行例
90
90
 
91
91
  ![イメージ説明](d992646886759c822ed570cd099e4882.png)
92
+
93
+
94
+
95
+ 処理をまとめるときには、事前に作業変数を宣言せずに、lis だけを使って書くのが好ましいです。(個人的な嗜好)

1

修正

2021/12/19 05:51

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -40,7 +40,15 @@
40
40
 
41
41
 
42
42
 
43
+ print("lis を 展開する")
44
+
45
+ lis_ex = list(map(lambda x: list([e for e in range(x[0], x[1] + 1)]), lis))
46
+
47
+ print("lis_ex", lis_ex)
48
+
49
+
50
+
43
- lis5 = sorted(lis4 + lis)
51
+ lis5 = sorted(lis4 + lis_ex)
44
52
 
45
53
  print("両者を結合してソートする")
46
54
 
@@ -50,7 +58,7 @@
50
58
 
51
59
  print("サイズ 1 の要素は list から int に変換する")
52
60
 
53
- lis6 = list(map(lambda x: x if len(x) == 2 else x[0], lis5))
61
+ lis6 = list(map(lambda x: x[0] if len(x) == 1 else x, lis5))
54
62
 
55
63
  print(" lis6 = ", lis6)
56
64
 
@@ -60,9 +68,11 @@
60
68
 
61
69
  result = list(
62
70
 
63
- map(lambda x: x if len(x) == 2 else x[0],
71
+ map(lambda x: x[0] if len(x) == 1 else x,
64
72
 
73
+ sorted(list(map(lambda y1: list([e for e in range(y1[0], y1[1] + 1)]), lis))
74
+
65
- sorted(lis + [[y] for y in range(0, lis[-1][1])
75
+ + [[y] for y in range(0, lis[-1][1])
66
76
 
67
77
  if y not in sum(list(map( lambda z: list(range(z[0], z[1] + 1)), lis)), [])])
68
78
 
@@ -78,4 +88,4 @@
78
88
 
79
89
  実行例
80
90
 
81
- ![イメージ説明](3e7e7236e517ab4ac8907517e14d1d90.png)
91
+ ![イメージ説明](d992646886759c822ed570cd099e4882.png)