int() 参数必须是字符串、类似字节的对象或数字,而不是'list' 代码错误


代码

行上弹出int() argument must be a string, a bytes-like object or a number, not 'list'错误。我找不到解决方案。

我错过了什么吗?

L = [[13], [18], [1], [3], [4], [5], [50], [29], [30], [41]]
sum = 10 + int(L[2])

我希望sum是一个整数。

如果您的子数组中有单个元素,则可以将它们平展为列表,而无需更改进一步的代码。

L = [[13], [18], [1], [3], [4], [5], [50], [29], [30], [41]]
L = [i for subarr in L for i in subarr]
sum = 10 + L[2]
print(L, sum)  # => [13, 18, 1, 3, 4, 5, 50, 29, 30, 41] 11

你有一个数组数组,每个数组都有一个元素。
这可能会起作用:

sum= 10 + int(L[2][0])  

或者,也许您只想构造数组,而没有将每个元素包装在自己的数组中;

L = [13, 18, 1, 3, 4, 5, 50, 29, 30, 41]

这是一个 2D 列表的列表。要访问列表中的元素,您需要执行以下操作

L[2][0] # return 1
L[1][0] # return 18

要解决您的问题,请尝试此操作

sum = 10 + int(L[2][0]) # return 11

最新更新