替换列表中空元素

2 投票
1 回答
4781 浏览
提问于 2025-04-17 18:37

我刚开始学Python,手头有一个奇怪的列表,里面又包含了很多列表(是为了科学实验用的),看起来像这样:

aaa=[['2.2', '2.05', '', '2.2', '2', '', '2.2', '2', '2.1', '2.05', '2', '2', '', '', '2.15', '2', '2.05', '2.1', '', '', '', '', ''], ['2.2', '2.05', '', '2.2', '2', '', '2.2', '2', '2.1', '2.05', '2', '2', '', '', '2.15', '2', '2.05', '2.1', '', '', '', '', ''], ['2.2', '2.05', '', '2.2', '2', '', '2.2', '2', '2.1', '2.05', '2', '2', '', '', '2.15', '2', '2.05', '2.1', '', '', '', '', ''], ['3.3', '3.4', '', '3.25', '3.25', '', '3.5', '3.5', '3.4', '3.6', '3.5', '3.3', '', '', '3.2', '3.3', '3.4', '3.3', '', '', '', '', '']]

你可以看到,这些列表里有些元素是空的(就是'')。我想把这些空元素替换成“0.00”,而且我在想用Python最简洁的方法(如果能用一行代码就更好了)来做到这一点。

当然,我可以用循环,比如用i和j来遍历这个列表,但我觉得Python应该有一些像itertools这样的工具,可以更快地完成这个任务。

谢谢!

1 个回答

10

使用列表推导式:

new_list = [[element or '0.00' for element in sublist] for sublist in big_list]

撰写回答