私はPythonにはとても新しく、 'rowIndex'パラメータとしてkが与えられているパスカル三角形のk番目の行を返す以下のコードを書いています。この問題は、連結[0]+row
が正常に機能しているのに、row+[0]
が機能していないマップ関数で発生し、以下に示すようにエラーがスローされています。この問題は、マップの代わりにzipを使用して実装されたコードでは発生しませんでした(以下のコードでコメントアウトされています)。Python:奇妙な振る舞いをする2つのリストの連結
ありがとうございます!
エラー:
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)
感謝を:あなたは、リストオブジェクトを取得するには
list
機能を使用して一覧表示するには、それを変換する必要があります。それは大いに役立ちます。 –