2024-05-23 14:28:19 发布
网友
我有一个2D列表,我想从2D列表的所有元素中减去一个浮点值:
mat = [[1, 2], [3, 4]] cons = 13 mat1 = cons - mat
但最后一行不行。如何在python中的2D列表中执行此操作?
谢谢你。
您可以使用嵌套列表理解:
mat1 = [[(cons - x) for x in row] for row in mat]
不能从列表中减去一个数字,也不能反过来。 如果要坚持使用内置列表类型,可以使用嵌套理解来完成此操作:
mat1 = [[cons - m for m in sublist] for sublist in mat]
如果您的列表可能比示例中的列表大,那么可能值得查看允许此类操作的numpy模块。
如果您做了很多这样的事情,请考虑使用numpy:
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]])
您可以使用嵌套列表理解:
不能从列表中减去一个数字,也不能反过来。 如果要坚持使用内置列表类型,可以使用嵌套理解来完成此操作:
如果您的列表可能比示例中的列表大,那么可能值得查看允许此类操作的numpy模块。
如果您做了很多这样的事情,请考虑使用
numpy
:相关问题 更多 >
编程相关推荐