Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串格式,Python中浮动的科学符号_Python_String_Sorting_Math - Fatal编程技术网

字符串格式,Python中浮动的科学符号

字符串格式,Python中浮动的科学符号,python,string,sorting,math,Python,String,Sorting,Math,我正在使用python,我对它还很陌生,可以在一些指导下解决我认为是字符串格式问题的问题 我有一个外部程序的输出,我想把它转换成浮点。输出包含两个数字,它们可能是科学记数法中的数字,也可能不是科学记数法中的数字,并且在小数点后最多可以有15位数字,我在这里省略了小数点 -1.040e-05+3.1676e-03j 我想让它变成两个像这样的独立数字 -0.00001040,0.0031676 以下是当前无用形式的输出数据的其他示例 0.0572636-0.419420j将变为0.0572636,-

我正在使用python,我对它还很陌生,可以在一些指导下解决我认为是字符串格式问题的问题

我有一个外部程序的输出,我想把它转换成浮点。输出包含两个数字,它们可能是科学记数法中的数字,也可能不是科学记数法中的数字,并且在小数点后最多可以有15位数字,我在这里省略了小数点

-1.040e-05+3.1676e-03j 我想让它变成两个像这样的独立数字 -0.00001040,0.0031676

以下是当前无用形式的输出数据的其他示例 0.0572636-0.419420j将变为0.0572636,-0.419420 0.000194+4.85091e-05j

我的目标是将每对括号中包含的两个数字进行平方和相加。如果结果是科学记数法中的两个数字,那么这很好,只要我能够对它们进行数学运算。此外,减号不需要在转换中存活,因为当我将其平方时,减号将消失。如果这能让事情变得容易的话

我目前采用的方法是一种相当复杂和混乱的方法。使用x.find定位“e”、““-”和“+”,然后解释应提取字符串的哪些部分以形成数字

我也不熟悉re模块,不确定如何使用它来提取正确的格式


欢迎您提供任何帮助

您可以像这样在Python中解析复数:

>>> c=complex('-1.040e-05+3.1676e-03j')
>>> c.real
-1.04e-05
>>> c.imag
0.0031676
>>>
它也适用于浮点数和整数:

>>> f=complex('100.01')
>>> f.real
100.01
>>> f.imag
0.0
>>>

您可以在Python中解析复数,如下所示:

>>> c=complex('-1.040e-05+3.1676e-03j')
>>> c.real
-1.04e-05
>>> c.imag
0.0031676
>>>
它也适用于浮点数和整数:

>>> f=complex('100.01')
>>> f.real
100.01
>>> f.imag
0.0
>>>

您还可以使用优秀的numpy软件包:


您还可以使用优秀的numpy软件包:


请添加你的代码。请添加你的代码。太好了!Thanks@CalumHill我很高兴能帮上忙。如果你满意的话,你能把答案标为正确吗?哦,我刚刚注意到你把另一个答案标了出来——没关系。太完美了!Thanks@CalumHill我很高兴能帮上忙。如果你对答案感到满意,你能把它标记为正确吗?哦,我刚刚注意到你标记了另一个答案-没关系。