Python: однострочный для выполнения операции с элементами в 2-м массиве (список списков)?
Вопрос
У меня есть список списков, каждый из которых содержит разное количество строк.Я хотел бы (эффективно) преобразовать все это в целые числа, но чувствую себя немного скованно, так как я не могу заставить его работать на всю жизнь.Я пытался: newVals= [int (x) для x в [строка для строк в значениях]]
Где «значения» - это список списков.Он постоянно говорит, что x - это список и поэтому не может быть аргументом if int ().Очевидно я здесь делаю что-то глупое, что это?Есть ли общепринятые идиомы для подобных вещей?
Решение
При этом целые числа остаются вложенными
родовое словоЕсли вы хотите, чтобы они были плоскими, это тоже несложно
для Python3 map()
возвращает итератор.Вы можете использовать
но вы можете предпочесть использовать вложенные LC в этом случае
родовое словоДругие советы
Как насчет
GenracodicetagpreВы просто используете неправильный порядок и круглые скобки - должно быть:
GenracodicetagpreИли, если вам нужен список на выходе, то:
Genracodicetagpreуродливый способ - использовать evalf:
Genracodicetagpreесли вы не возражаете против всех ваших чисел в одном массиве, вы можете пойти:
GenracodicetagpreДругой способ обхода
родовое слово