有人會告訴我如何使用列表理解來創建列表,具有像下面的問題那樣的無數據值的默認值。列表理解創建列表和無數據值的提要默認值
我有一個三角形的數據集,我想要使用列表理解進行二維列表。 我想喂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而不是無數據值。
輸入表格...
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_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')]
http://stackoverflow.com/questions/19419154/getting-max-value-from-each-column-of-the-csv-file –
@tailor_raj請不要發表無關的評論。 –
不..這是一個很好的問題,我也解決了這個問題,但是我正試圖獲得有效的方法..因爲我是初學者... –
你嘗試自己做任何事?爲什麼它*具有*作爲列表理解?你知道最前面一排的最大長度嗎? –
不..我不知道列表的最大長度...我試過bt似乎沒有辦法只使用列表理解..或者如果有一種方式,它將會非常複雜... :) –
你將有*至少循環兩次;一次以獲得長度。下面的hcwhsa答案會循環兩次,隱藏在'*'參數展開式中。 –