Python 复杂数字的漂亮打印

Python 复杂数字的漂亮打印,python,formatting,complex-numbers,Python,Formatting,Complex Numbers,我有一个复数列表,作为一维离散傅里叶变换的输出。我希望能够在一个整洁的列中显示它们,实数部分和虚数部分四舍五入到小数点后4位;比如: 21.0000 + 0.0000j -3.0000 + 5.1962j -3.0000 + 1.7321j -3.0000 + 0.0000j -3.0000 - 1.7321j -3.0000 - 5.1962j 当然,沿着小数点很好地排列。有没有一种简单的方法可以做到这一点-一些格式化复数的方法?使用新函数 >>> a = -3

我有一个复数列表,作为一维离散傅里叶变换的输出。我希望能够在一个整洁的列中显示它们,实数部分和虚数部分四舍五入到小数点后4位;比如:

21.0000 +  0.0000j
-3.0000 +  5.1962j
-3.0000 +  1.7321j
-3.0000 +  0.0000j
-3.0000 -  1.7321j
-3.0000 -  5.1962j
当然,沿着小数点很好地排列。有没有一种简单的方法可以做到这一点-一些格式化复数的方法?

使用新函数

>>> a = -3 + 5.3j
>>> a
(-3+5.3j)
>>> "{num.real:+0.04f} {num.imag:+0.04f}j".format(num=a)
'-3.0000 +5.3000j'
使用新功能

>>> a = -3 + 5.3j
>>> a
(-3+5.3j)
>>> "{num.real:+0.04f} {num.imag:+0.04f}j".format(num=a)
'-3.0000 +5.3000j'
使用新功能

>>> a = -3 + 5.3j
>>> a
(-3+5.3j)
>>> "{num.real:+0.04f} {num.imag:+0.04f}j".format(num=a)
'-3.0000 +5.3000j'
使用新功能

>>> a = -3 + 5.3j
>>> a
(-3+5.3j)
>>> "{num.real:+0.04f} {num.imag:+0.04f}j".format(num=a)
'-3.0000 +5.3000j'

你可以这样做:

print '%0.4f + %0.4fi' % (a.real, a.imag)

你可以这样做:

print '%0.4f + %0.4fi' % (a.real, a.imag)

你可以这样做:

print '%0.4f + %0.4fi' % (a.real, a.imag)

你可以这样做:

print '%0.4f + %0.4fi' % (a.real, a.imag)

也许你正在寻找这样的东西:

>>> a = -3 - 5.3j
>>> "{num.real:+0.04f} {num.imag:=+8.04f}j".format(num=a)
'-3.0000 - 5.3000j'

也许你正在寻找这样的东西:

>>> a = -3 - 5.3j
>>> "{num.real:+0.04f} {num.imag:=+8.04f}j".format(num=a)
'-3.0000 - 5.3000j'

也许你正在寻找这样的东西:

>>> a = -3 - 5.3j
>>> "{num.real:+0.04f} {num.imag:=+8.04f}j".format(num=a)
'-3.0000 - 5.3000j'

也许你正在寻找这样的东西:

>>> a = -3 - 5.3j
>>> "{num.real:+0.04f} {num.imag:=+8.04f}j".format(num=a)
'-3.0000 - 5.3000j'


它们是python复数还是
numpy
?当你说四舍五入时,你真的是指四舍五入还是仅仅是截断?换句话说,你只是想显示分辨率高达4位小数,还是向上或向下取整?我现在不太在乎它们是被取整还是被截断;这只是为了显示的目的,我只是想要一个好的列表。它们是python复数还是
numpy
?当你说四舍五入时,你真的是指四舍五入还是仅仅是截断?换句话说,你只是想显示分辨率高达4位小数,还是向上或向下取整?我现在不太在乎它们是被取整还是被截断;这只是为了显示的目的,我只是想要一个好的列表。它们是python复数还是
numpy
?当你说四舍五入时,你真的是指四舍五入还是仅仅是截断?换句话说,你只是想显示分辨率高达4位小数,还是向上或向下取整?我现在不太在乎它们是被取整还是被截断;这只是为了显示的目的,我只是想要一个好的列表。它们是python复数还是
numpy
?当你说四舍五入时,你真的是指四舍五入还是仅仅是截断?换句话说,你只是想显示分辨率高达4位小数,还是向上或向下取整?我现在不太在乎它们是被取整还是被截断;这只是为了显示的目的,我只是想要一个漂亮的列表。发布后,我发现这是一个不同问题的答案。它工作得很好,但是如果像我上面的例子那样,虚部的符号和它的值之间有一个空格就好了。@Alasdair您可以用tab作为分隔符。谢谢,但是我想要的是类似“2.0000+3.0000i”的东西,而format命令给我的是“2.0000+3.0000i”;也就是说,我想要在+“符号。发布后,我发现这是对另一个问题的回答。它工作得很好,但是如果像我上面的例子那样,虚部的符号和它的值之间有一个空格就好了。@Alasdair您可以用tab作为分隔符。谢谢,但是我想要的是类似“2.0000+3.0000i”的东西,而format命令给我的是“2.0000+3.0000i”;也就是说,我想要在+“符号。发布后,我发现这是对另一个问题的回答。它工作得很好,但是如果像我上面的例子那样,虚部的符号和它的值之间有一个空格就好了。@Alasdair您可以用tab作为分隔符。谢谢,但是我想要的是类似“2.0000+3.0000i”的东西,而format命令给我的是“2.0000+3.0000i”;也就是说,我想要在+“符号。发布后,我发现这是对另一个问题的回答。它工作得很好,但是如果像我上面的例子那样,虚部的符号和它的值之间有一个空格就好了。@Alasdair您可以用tab作为分隔符。谢谢,但是我想要的是类似“2.0000+3.0000i”的东西,而format命令给我的是“2.0000+3.0000i”;也就是说,我想要在+“符号,谢谢!我正在查看format函数,但我的阅读还不够深入,无法从c风格的printf格式代码进行翻译。这很有帮助!谢谢我正在查看format函数,但我的阅读还不够深入,无法从c风格的printf格式代码进行翻译。这很有帮助!谢谢我正在查看format函数,但我的阅读还不够深入,无法从c风格的printf格式代码进行翻译。这很有帮助!谢谢我正在查看format函数,但我的阅读还不够深入,无法从c风格的printf格式代码进行翻译。这很有帮助!