#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]])