TypeError: 'int' object is not subscriptable - Python3
TypeError: 'int' object is not subscriptable - Python3
我正在尝试解决 python3 中的 Pascal 三角问题,但每次都会收到 TypeError 'int' object is not subscriptable。
这里,问题是:给定一个非负整数 numRows,生成第一个 numRows 帕斯卡三角形.
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
pascal = []
for i in range(numRows):
pascal.append([])
for j in range(i+1):
if j == 0 or j == i:
pascal.append(1)
else:
pascal[i].append(pascal[i - 1][j - 1] + pascal[i - 1][j])
return pascal
此行不正确:
pascal.append(1)
应该是:
pascal[i].append(1)
否则,您计算的下一行将尝试索引 1[j - 1]
。修复后,对于 10
的参数,我得到 return 值
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1],
[1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1],
[1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1],
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]]
我正在尝试解决 python3 中的 Pascal 三角问题,但每次都会收到 TypeError 'int' object is not subscriptable。
这里,问题是:给定一个非负整数 numRows,生成第一个 numRows 帕斯卡三角形.
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
pascal = []
for i in range(numRows):
pascal.append([])
for j in range(i+1):
if j == 0 or j == i:
pascal.append(1)
else:
pascal[i].append(pascal[i - 1][j - 1] + pascal[i - 1][j])
return pascal
此行不正确:
pascal.append(1)
应该是:
pascal[i].append(1)
否则,您计算的下一行将尝试索引 1[j - 1]
。修复后,对于 10
的参数,我得到 return 值
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1],
[1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1],
[1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1],
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]]