这是一个简单的问题,虽然我很难在网上找到答案,主要原因是不确定最佳搜索字词。
基本上,我想创建一个二维数组,如:
[0 + 0j, 1+0j, 2+0j
0 + 1j, 1+1j, 2+1j
0 + 2j, 1+2j, 2+2j]
我可以使用两个嵌套循环执行此操作,但我觉得必须有使用numpy和数组的1行解决方案吗?
非常感谢
答案 0 :(得分:2)
>>> 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]])
答案 1 :(得分:2)
您可以使用嵌套列表推导:
[[a+b*1j for a in range(3)] for b in range(3)]