умножить все целые числа в списке списков python?

#python #python-3.x

#python #python-3.x

Вопрос:

Я хочу умножить все значения в списке списков в python:

     input = 3*[[1,2,3],[3,2,1]]
  

итак, я получаю этот вывод:

     output = [[3,6,9],[9,6,3]]
  

я пробовал это:

     l = [[1,2,3],[3,2,1]]
    l = [i * 2 for i in x in l]
  

Ответ №1:

 [[ 3 * i for i in inner ] for inner in outer]
  

Комментарии:

1. кто будет таким же для вычитания / добавления

2. также как мне определить outer

Ответ №2:

 >>> my_list = [[1,2,3],[3,2,1]]
>>> [map((3).__mul__, sublist) for sublist in my_list]
[[3, 6, 9], [9, 6, 3]]
  

Вы могли бы рассмотреть возможность использования массивов numpy вместо:

 >>> import numpy as np
>>> a = np.array(my_list)
>>> a
array([[1, 2, 3],
       [3, 2, 1]])
>>> 3*a
array([[3, 6, 9],
       [9, 6, 3]])