Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表理解创建列表,对于无数据值,输入默认值_Python_Python 2.7_List Comprehension - Fatal编程技术网

Python 列表理解创建列表,对于无数据值,输入默认值

Python 列表理解创建列表,对于无数据值,输入默认值,python,python-2.7,list-comprehension,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 有人能帮我吗。提前感谢。您可以使用itertools.izip\u: >>> from itertools import izip_longest >>&g

有谁能告诉我如何使用列表理解创建一个列表,没有数据值时使用默认值,如下面的问题

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

有人能帮我吗。提前感谢。

您可以使用
itertools.izip\u

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

@请不要发表无关的评论。不。。这是个好问题,我也解决了。。但我想找到一个有效的方法。。因为我是初学者…@tailor_raj,我并不是说这是个坏问题。但是这个问题与这个问题无关,所以你不应该发表这样的评论。阅读:你自己尝试过什么吗?为什么它必须是一个列表?你知道前面一排的最大长度吗?不知道。。我不知道列表的最大长度。。。我试过bt,似乎没有办法只使用列表理解。。或者,如果有一种方法,它将非常复杂……:)你必须至少循环两次;一次测量长度。hcwhsa下面的答案确实循环了两次,隐藏在
*
参数扩展中。