二维数组创建以包含沿每个轴的实数和虚数

2D Array Creations to containing real and imaginary numbers along each axis

这是一个简单的问题,虽然我一直在网上寻找答案,主要是因为不确定最佳搜索词。

基本上,我想创建一个二维数组,例如:

[0 + 0j, 1+0j, 2+0j
 0 + 1j, 1+1j, 2+1j
 0 + 2j, 1+2j, 2+2j]

我可以用两个嵌套循环来做到这一点,尽管我觉得必须有一个使用 numpy 和数组的单行解决方案?

非常感谢

>>> a = np.arange(3)
>>> a + a[:,np.newaxis] * 1j
array([[ 0.+0.j,  1.+0.j,  2.+0.j],
       [ 0.+1.j,  1.+1.j,  2.+1.j],
       [ 0.+2.j,  1.+2.j,  2.+2.j]])

您可以使用嵌套列表理解:

[[a+b*1j for a in range(3)] for b in range(3)]