2
我對Python很新,我寫了下面的代碼,它返回一個Pascal三角形的第k行,其中k作爲'rowIndex'參數提供。在映射函數中發生問題,其中級聯[0]+row
工作正常,但row+[0]
不起作用,並且正在拋出錯誤,如下所示。這個問題在使用zip而不是map實現的代碼中沒有發生(它在下面的代碼中被註釋掉了)任何人都可以指出問題是什麼?Python:兩個列表的連接行爲怪異
在此先感謝!
錯誤:
row = [map(lambda a, b: a + b, [0]+row, row+[0])]
TypeError: unsupported operand type(s) for +: 'int' and 'list'
代碼:
class Solution(object):
def getRow(self, rowIndex):
"""
:type rowIndex: int
:rtype: List[int]
"""
row = [1]
for _ in range(rowIndex):
row = [map(lambda a, b: a + b, [0]+row, row+[0])]
# row = [x + y for x, y in zip([0]+row, row+[0])]
return row
obj = Solution()
print obj.getRow(3)
感謝您詳細的解答。這有很大幫助。 –