合并多个子列表,值不为零
在Python中,如何最好地进行合并操作,条件是值不等于0,最终得到下面的结果呢?
list = [
[0, 0, 0, '', 0, 0, 0, 0, 0],
[0, 0, 0, 0, 'b', 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 'c', 0, 0],
[0, 0, 0, 0, 0, 0, 0, '', 0],
[0, 0, 0, 0, 0, 0, 0, 0, '']
]
[[0, 0, 0, '', 'b', 0, 'c', '', '']] # result
1 个回答
1
你可以通过使用 zip
来过滤掉子列表中的0:
[next((i for i in s if i != 0), 0) for s in zip(*lst)]