替换列表中空元素
我刚开始学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]