builtins.TypeError: unsupported operand type(s) for -: 'list' and 'int'
为什么会出现此错误?我有一个列表b的列表,我想从b。
的第一个列表的最后一个元素中减去csofar = abs(b[len(b[0])-1] - c)
b
列表中的第一个列表的最后一个元素是(不需要len(LIST) - 1
,-1
将获得最后一个元素):
b[0][-1]
您可以从:
中看到它>>> x = [1,2,3] # Three lists.
>>> y = [4,5,6]
>>> z = [7,8,9,10,11]
>>> b = [x,y,z] # List of lists, [[1,2,3],[4,5,6],[7,8,9,10,11]].
>>> b[0][-1] # Voilà ...
3
您可以用简单的:
对其进行修改>>> b[0][-1] += 10
>>> b
[[1, 2, 13], [4, 5, 6], [7, 8, 9, 10, 11]]
# ^^
# Has had 10 added to it.
you 有 b[len(b[0])-1]
是 list b[something]
,其中 something
是 b[0]
中最后一项的索引。这就是为什么要抱怨试图从列表中减去整数的原因。