次のようなリストがあります。
['a', 'b', 'c', '', '', '']
これは、「ダーティ」csv ファイルを解析した結果です。右側の空の列を取り除きたいと思います。長さが可変なので、数えるだけでは使えません。次のような行もあるため、単純なフィルタリングを使用することもできません。
['a1', '', 'c1', '', '']
そのため、右端にない空の列を保持する必要があります。これを行う慣用的な方法はありますか?逆のリストに適用できる「removeWhile」関数のようなものを期待しています。
これまでのところ、私が思いついた最高のものは次のとおりです。
def filterRow(row):
row.reverse()
blanks = 0
for x in row:
if x == '':
blanks += 1
else:
break
row.reverse()
return row[0:-blanks]