Python: однострочный для выполнения операции с элементами в 2-м массиве (список списков)?

StackOverflow https://stackoverflow.com/questions/6381638

Вопрос

У меня есть список списков, каждый из которых содержит разное количество строк.Я хотел бы (эффективно) преобразовать все это в целые числа, но чувствую себя немного скованно, так как я не могу заставить его работать на всю жизнь.Я пытался: newVals= [int (x) для x в [строка для строк в значениях]]

Где «значения» - это список списков.Он постоянно говорит, что x - это список и поэтому не может быть аргументом if int ().Очевидно я здесь делаю что-то глупое, что это?Есть ли общепринятые идиомы для подобных вещей?

Это было полезно?

Решение

При этом целые числа остаются вложенными

родовое слово

Если вы хотите, чтобы они были плоскими, это тоже несложно

для Python3 map() возвращает итератор.Вы можете использовать

родовое слово

но вы можете предпочесть использовать вложенные LC в этом случае

родовое слово

Другие советы

Как насчет

Genracodicetagpre

Вы просто используете неправильный порядок и круглые скобки - должно быть:

Genracodicetagpre

Или, если вам нужен список на выходе, то:

Genracodicetagpre

уродливый способ - использовать evalf:

Genracodicetagpre

если вы не возражаете против всех ваших чисел в одном массиве, вы можете пойти:

Genracodicetagpre

Другой способ обхода

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top