2016-06-13 52 views
-1
lists=may['barrier'] 
lists 
def column(matrix, i): 
    return [row[i] for row in matrix] 
column(lists,0) 
barr_col=column(lists,0) 
barr_col 

然後給出第一列數據。Python:如何獲得不平衡多個列表中的第二列?

lists=may['barrier'] 
lists 
def column(matrix, i): 
    return [row[i] for row in matrix] 
column(lists,0) 
barr_col=column(lists,1) 
barr_col 

再有就是一個錯誤,因爲列表不均衡。

我該如何解決這個問題?

+0

首先,開始使用句子,至少如果你問。其次,在這裏粘貼錯誤消息。 – peterh

回答

0

嘗試定義column這樣的:

def column(matrix, i): 
    return [row[i] if i < len(row) else None for row in matrix] 

您當前擁有它定義方式,我期望我每次超過該迭代row的長度,它失敗。通過在列表理解中測試它來解決這個問題。

相關問題