Restar un valor de todos los elementos de una lista 2D en python

Tengo una lista 2D y quiero restar un valor de coma flotante de todos los elementos de la lista 2D:

mat = [[1, 2], [3, 4]] cons = 13 mat1 = cons - mat 

Pero la última línea no funciona. ¿Cómo hacer esto en una lista 2D en python?

Gracias.

Si haces muchas de estas cosas, considera usar numpy :

 In [1]: import numpy as np In [2]: mat = np.array([[1, 2], [3, 4]]) In [3]: cons = 13 In [4]: cons-mat Out[4]: array([[12, 11], [10, 9]]) 

Puede utilizar una lista de comprensión anidada:

 mat1 = [[(cons - x) for x in row] for row in mat] 

No puede restar un número de una lista o al revés. Si desea mantener el tipo de lista integrada, puede hacer esto con una comprensión anidada:

 mat1 = [[cons - m for m in sublist] for sublist in mat] 

Si sus listas son, presumiblemente, más grandes que las de su ejemplo, podría valer la pena revisar el módulo numpy, que permite dichas operaciones.