2013-04-03 2 views
1

Я хочу умножить заданную матрицу 1x1x3 с постоянным значением.умножение матрицы с константой

a= [[[1, 2, 3]]] 

ожидаемый результат

a*3 = [[[3,6,9]]] 

пожалуйста, помогите мне решить эту

+1

Если это то, что вам нужно сделать, возможно, стоит потратить время на изучение NumPy. – NPE

ответ

4

Использование NumPy:

In [1]: import numpy as np 

In [2]: a = np.array([[[1, 2, 3]]]) 

In [3]: a 
Out[3]: array([[[1, 2, 3]]]) 

In [4]: a*3 
Out[4]: array([[[3, 6, 9]]]) 
1

Try:

a= [[[1, 2, 3]]] 
for i in range(len(a[0][0])): 
    a[0][0][i] *= 3 

print a  
1

Вот один из способов использования списковых:

>>> a = [[[1, 2, 3]]] 
>>> b = [[x*3 for x in a[0][0]]] 
>>> b 
[[3, 6, 9]] 
1

Вот способ сделать это с помощью чистого Python:

a3 = [[[el * 3 for el in col] for col in row] for row in a] 

Это работает с 3D-матрицами любой формы, а не только 1x1x3.

Однако, если это то, что вам нужно делать на регулярной основе, я бы посоветовал вам узнать NumPy. Тогда вы сможете написать:

a3 = a * 3 
Смежные вопросы