我想从字符串中提取数字并将它们存储在不同的变量中。
例如: - "92+23i"
是一个复数。我想在变量num_real
中存储92,在num_imagin
中存储23。
答案 0 :(得分:2)
Python的预定义类型为complex
但是它希望字符串的类型为"a+bj"
(注意j
而不是i
,它应该是没有空间)。在您的情况下,您可以将"i"
替换为字符串中的"j"
,并获得所需的值:
>>> my_str = "92+23i"
>>> my_num = complex(my_str.replace('i', 'j'))
从这个复数中,您需要使用my_num.imag
为虚部提取所需的值,并使用my_num.real
提取复数的实部。例如:
>>> my_num.imag
23.0
>>> my_num.real
92.0
答案 1 :(得分:1)
你的字符串非常接近解析为Python文字:
<ul></ul>
使用>>> s = '92+23i'
>>> import ast
>>> ast.literal_eval(s.replace('i', 'j'))
(92+23j)
和num.real
访问实部和虚部。