もっとスマートなというか、何かに配列を代入するだけで出来た記憶があったのですが思い出せないので。
とりあえず見た目が分かりやすいように作ってみました。
-下記のコード引用-
pythonのリストの空データを削除する
Python
1# coding=UTF-8
2
3# Before
4a = [[]] * 5
5a[0] = [0, 1]
6a[2] = [20, 3]
7a[4] = [40, 5]
8# 確認
9for i,num in enumerate(a):
10 print(str(i)+":",str(num))
11
12# 空要素を削除
13a = list(filter(lambda value:value != [], a))
14print()
15
16# After
17# 確認
18for i,num in enumerate(a):
19 print(str(i)+":",str(num))
20print()
21
22# 確認の確認
23# indexで要素を取得0,1,2で取得出来ている
24for i,num in enumerate(a):
25 print(str(i)+":",str(a[i]))
出力結果
0: [0, 1]
1: []
2: [20, 3]
3: []
4: [40, 5]
0: [0, 1]
1: [20, 3]
2: [40, 5]
0: [0, 1]
1: [20, 3]
2: [40, 5]