回答編集履歴
3
追記
test
CHANGED
@@ -46,4 +46,4 @@
|
|
46
46
|
|
47
47
|
先に一次元のリストにぐしゃっと潰してからループする方法です。
|
48
48
|
|
49
|
-
ある程度慣れている人なら
|
49
|
+
抽象度が高いので、ある程度慣れている人ならこの方法も検討するかと思います。
|
2
追記
test
CHANGED
@@ -23,3 +23,27 @@
|
|
23
23
|
|
24
24
|
|
25
25
|
また、リスト長を判定に用いたいなら i ではなく len(each) の値を用いた方が良いのでは。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
---
|
30
|
+
|
31
|
+
欲しい出力を得るための方針は、ぱっと思いつく限り三つあります。
|
32
|
+
|
33
|
+
0. **内部リスト長に応じて処理を分岐**
|
34
|
+
|
35
|
+
おそらくご提示のコードで目指している実装です。
|
36
|
+
|
37
|
+
ただ、前以てリスト長の範囲が定まっている必要がある他、やや冗長です。
|
38
|
+
|
39
|
+
0. **二重ループを用いる方法**
|
40
|
+
|
41
|
+
内部リストの長さを限定しない、おそらく一番ニュートラルな解き方です。
|
42
|
+
|
43
|
+
ネストがやや深くなるのが欠点です。
|
44
|
+
|
45
|
+
0. **リストを平坦化(flatten)する方法**
|
46
|
+
|
47
|
+
先に一次元のリストにぐしゃっと潰してからループする方法です。
|
48
|
+
|
49
|
+
ある程度慣れている人なら、この方法も検討するかと思います。
|
1
追記
test
CHANGED
@@ -19,3 +19,7 @@
|
|
19
19
|
whileブロック内で i の値が更新されていないので、無限ループしています。
|
20
20
|
|
21
21
|
単に i の値に依って処理を分岐したいだけなら、whileではなくifを使ってください。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
また、リスト長を判定に用いたいなら i ではなく len(each) の値を用いた方が良いのでは。
|