teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2020/12/27 00:54

投稿

katoy
katoy

スコア22328

answer CHANGED
@@ -27,4 +27,35 @@
27
27
  2 次元配列に対して、 a, b, c, d を 縦方向に代入していきます。
28
28
  最後に None のものを削除します。
29
29
 
30
- 2行目の出力は None を取除く前の状態です。
30
+ 2行目の出力は None を取除く前の状態です。
31
+
32
+ 追記:
33
+ 2次元行列に
34
+ 横方向に詰めていく方法2つと
35
+ 縦に詰めていく方法1つを並べてみました。
36
+ (コメントでもらったように、 None 代入を外しています)
37
+
38
+ p.py
39
+ ```python3
40
+ a = [1, 5]
41
+ b = [2, 6, 8]
42
+ c = [3]
43
+ d = [4, 7, 9, 10]
44
+ z = [a, b, c, d]
45
+
46
+ w = max(list(map(lambda v: len(v), z)))
47
+ h = len(z)
48
+
49
+ ans = [x for v in z for x in v]
50
+ print(ans)
51
+ ans = [z[y][x] for y in range(h) for x in range(w) if x <len(z[y])]
52
+ print(ans)
53
+
54
+ print()
55
+
56
+ ans = [z[y][x] for x in range(w) for y in range(h) if x < len(z[y])]
57
+ print(ans)
58
+ ```
59
+
60
+ 実行例
61
+ ![イメージ説明](e1554cb6e168feeb2681ee0bc5065e78.png)

1

誤字

2020/12/27 00:54

投稿

katoy
katoy

スコア22328

answer CHANGED
@@ -1,4 +1,4 @@
1
- 他の回答とているが、ちょっと違う発想で。
1
+ 他の回答とているが、ちょっと違う発想で。
2
2
 
3
3
  p.py
4
4
  ```python3