У меня есть список в списке, и я хочу изменить все значения на целые. Я выполнил это, но предположим, что я указал пользователю, сколько списков в списках он будет иметь. Как я могу преобразовать все эти значения в целые числа?
У меня есть следующий код, который в настоящее время принимает любой список или любой список в списке и преобразует все значения в целые числа. Я вижу, как я могу расширить это до большего количества списков в списках, но это может быть ненужным или, возможно, недостаточным. И, конечно, это кажется очень медленным и требует много кода.
for i in l:
index = l.index(i)
l[index] = list(map(int, l[index]))
Мой список l
, а каждый список в l
- i
. Я беру индекс того, что я есть, и преобразовываю все значения в нем в целое число. Как я могу создать функцию / цикл, который принимает количество списков в списках и конвертировать их все в целые числа?
Например, для этого ввода:
l = [['6', '5'], '7', ['88', '99', '1']]
Приведенный выше код вернет:
[[6, 5], 7, [88, 99, 1]]
Однако, если у меня есть:
l = [['6', '7'], ['6', ['7', '8']]]
Я получаю сообщение об ошибке:
"TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'"
Я понимаю, что это потому, что я конвертирую только списки, вложенные в списки, а не списки, вложенные в списки, вложенные в списки, поэтому мне кажется, что я пытаюсь преобразовать весь список в целое число.
Короче говоря, как я могу построить функцию, которая может преобразовывать любое количество вложенных списков в целые числа?