Аргумент int () должен быть строкой, байтовоподобным объектом или числом, а не «list». Ошибка в коде - PullRequest
0 голосов
/ 10 февраля 2019

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 было целым числом.

Ответы [ 3 ]

0 голосов
/ 10 февраля 2019

Если у вас есть отдельные элементы в ваших подмассивах, вы можете выровнять их в список без изменения кода.

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
0 голосов
/ 10 февраля 2019

Это список списка, который является 2D.Чтобы получить доступ к элементу списка, вам нужно сделать что-то вроде этого

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

Чтобы решить вашу проблему, попробуйте это

sum = 10 + int(L[2][0]) # return 11
0 голосов
/ 10 февраля 2019

У вас есть массив массивов, каждый с одним элементом.
Это, вероятно, сработает:

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

Или, возможно, вы просто захотите создать массив без каждого элемента, заключенного в свой собственный массив;

L = [13, 18, 1, 3, 4, 5, 50, 29, 30, 41]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...