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

回答編集履歴

2

追記

2018/11/22 08:24

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -13,4 +13,21 @@
13
13
  UC_history = list(
14
14
  filter(None, results)
15
15
  )
16
+ ```
17
+
18
+ コメントを受けて
19
+ ---
20
+ > ['U.C.0001', 'U.C.0079', 'U.C.0080', 'U.C.0081', 'U.C.0083',~](後半省略)
21
+ > このような出力にするにはどうすればよろしいでしょうか?
22
+
23
+ 各リストの要素数が常に一つなら、can110さんの方法を採用すると簡潔でしょう。
24
+ これについて追記すると全く回答が被ってしまうので、ちょっと違うアプローチの追記をしてみます。
25
+ ```Python
26
+ >>> lst = [[1], [2], [3], [], [4, 5]]
27
+ >>>
28
+ >>> [e[0] for e in lst if e] # can110さんの方法
29
+ [1, 2, 3, 4]
30
+ >>>
31
+ >>> [e for row in lst for e in row if e]
32
+ [1, 2, 3, 4, 5]
16
33
  ```

1

修正

2018/11/22 08:23

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,8 +1,13 @@
1
- 空リストと比較すれば良いです。
1
+ 安直な方法としては、空リストと比較すれば良いです。
2
2
  ```Python
3
3
  UC_history = [h for h in results if h != []]
4
4
  ```
5
5
 
6
+ 空リストが偽値であることを利用すれば次のようにも書けます。
7
+ ```Python
8
+ UC_history = [h for h in results if h]
9
+ ```
10
+
6
11
  あるいはfilterを利用します。
7
12
  ```Python
8
13
  UC_history = list(