有人会告诉我如何使用列表理解创建列表,具有无数据值的默认值,如下面的问题。
我有一个三角形数据集,我想使用列表理解来提供给二维列表。 我想提供0而不是无数据值。
输入表格......
3
7 4
2 4 6
8 5 9 3
输出表格。
3 0 0 0
7 4 0 0
2 4 6 0
8 5 9 3
任何人都可以帮助我。提前谢谢。
答案 0 :(得分:1)
您可以使用itertools.izip_longest
:
>>> from itertools import izip_longest
>>> strs = """ 3
7 4
2 4 6
8 5 9 3"""
>>> lis = [s.split() for s in strs.splitlines()]
>>> zip(*(izip_longest(*lis, fillvalue='0')))
[('3', '0', '0', '0'),
('7', '4', '0', '0'),
('2', '4', '6', '0'),
('8', '5', '9', '3')]