Python 列表理解创建列表,对于无数据值,输入默认值
有谁能告诉我如何使用列表理解创建一个列表,没有数据值时使用默认值,如下面的问题 我有一个三角形的数据集,我想使用列表理解将其提供给二维列表。 我想输入0,而不是没有数据值 输入表单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
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下面的答案确实循环了两次,隐藏在
*
参数扩展中。