[英]Subtracting a value from all elements of a 2D list in python
我有一個二維列表,我想從二維列表的所有元素中減去一個浮點值:
mat = [[1, 2], [3, 4]]
cons = 13
mat1 = cons - mat
但最后一行不起作用。 如何在python的二維列表中做到這一點?
謝謝你。
如果你做了很多這樣的事情,考慮使用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]])
您可以使用嵌套列表理解:
mat1 = [[(cons - x) for x in row] for row in mat]
您不能從列表中減去一個數字,反之亦然。 如果你想堅持內置列表類型,你可以使用嵌套理解來做到這一點:
mat1 = [[cons - m for m in sublist] for sublist in mat]
如果您的列表可能比您的示例中的列表大,那么檢查 numpy 模塊可能是值得的,它允許進行此類操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.