复数的美观打印
我有一串复数,这些复数是通过一维离散傅里叶变换得到的。我想把它们整齐地显示成一列,每个复数的实部和虚部都保留到小数点后四位,像这样:
21.0000 + 0.0000j
-3.0000 + 5.1962j
-3.0000 + 1.7321j
-3.0000 + 0.0000j
-3.0000 - 1.7321j
-3.0000 - 5.1962j
当然,显示的时候要对齐到小数点上。有没有简单的方法可以做到这一点?也就是说,有没有什么格式化复数的办法?
3 个回答
0
也许你在寻找类似这样的东西:
>>> a = -3 - 5.3j
>>> "{num.real:+0.04f} {num.imag:=+8.04f}j".format(num=a)
'-3.0000 - 5.3000j'
0
你可以这样做:
print '%0.4f + %0.4fi' % (a.real, a.imag)
3
使用新的 format 函数。
>>> a = -3 + 5.3j
>>> a
(-3+5.3j)
>>> "{num.real:+0.04f} {num.imag:+0.04f}j".format(num=a)
'-3.0000 +5.3000j'