def nested_list(nested):
for i in range (0, len(nested)):
for k in range (0, len(nested)):
print(nested[i][k], end = " ")
nested_list([[1,2,3],[4,5,6],[7,8,9]])
輸出:1 2 3 4 5 6 7 8 9
這是作業。但是當我nested_list([[1,2,3,4],[5,6],[7,8,9,10]])像這樣改變時,我得到一個錯誤。解決此問題的最佳解決方案是什么?
uj5u.com熱心網友回復:
您會收到錯誤訊息,因為您的原始代碼假定為“方形”串列(與完整串列具有相同長度的子串列)。
您需要更改內部 for 回圈以檢查當前子串列的 len,而不是整個串列:
def nested_list(nested):
for i in range(len(nested)):
for k in range(len(nested[i])): # check len of current sublist
print(nested[i][k], end = " ")
也改成range(0, len(nested))只是range(len(nested))。范圍既可以用作range(start, stop[, step])(如果沒有給出步驟,則默認值為 1),range(stop)也可以從 0 開始。:)
范圍在簽名內建函式串列,如何范圍內的作品真正說明
uj5u.com熱心網友回復:
有一種快速的方法可以做到這一點:
nested_list = [[1,2,3],[4,5,6],[7,8,9]]
print(sum(nested_list, []))
的sumPython的內置函式可用于“總和”(在這種情況下,以串連)中可迭代元素。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/383871.html
標籤:Python 蟒蛇-3.x 列表 python-2.7 嵌套
