0 python vector matrix dimension
为了在Python中创建N个元素的void向量,我们使用:
a = [None] * N
Run Code Online (Sandbox Code Playgroud)
如何创建M次N的矩阵,而不是用1或0填充?谢谢!
更"矩阵"的答案是使用numpy的object
dtype:例如:
>>> import numpy as np
>>> np.ndarray(shape=(5,6), dtype=np.object)
array([[None, None, None, None, None, None],
[None, None, None, None, None, None],
[None, None, None, None, None, None],
[None, None, None, None, None, None],
[None, None, None, None, None, None]], dtype=object)
Run Code Online (Sandbox Code Playgroud)
但是,正如wim所说,如果你用它来做数学,这可能是低效的.
>>> mat = np.empty(shape=(5,6))
>>> mat.fill(np.nan)
>>> mat
array([[ nan, nan, nan, nan, nan, nan],
[ nan, nan, nan, nan, nan, nan],
[ nan, nan, nan, nan, nan, nan],
[ nan, nan, nan, nan, nan, nan],
[ nan, nan, nan, nan, nan, nan]])
>>>
Run Code Online (Sandbox Code Playgroud)
如果你真的使用更多python对象的东西,并且不打算填充矩阵,你可以使用更好的东西; 一个dict
!
>>> from collections import defaultdict
>>> mat = defaultdict(lambda: None)
>>> mat[4,4]
>>> mat[4,4] is None
True
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
840 次 |
最近记录: |