list comprehension创建列表和无数据值feed默认值

时间:2013-11-01 10:22:55

标签: python python-2.7 list-comprehension

有人会告诉我如何使用列表理解创建列表,具有无数据值的默认值,如下面的问题。

我有一个三角形数据集,我想使用列表理解来提供给二维列表。 我想提供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

任何人都可以帮助我。提前谢谢。

1 个答案:

答案 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')]