Fan*_*Fan 0 python numpy complex-numbers
我有一个字符串列表,每个字符串都是一个复数。格式如下:
lr=['3.123+2.43i','0.23454-1.2134i','0.6543+0.76543i','1.12324+0.6543i']
Run Code Online (Sandbox Code Playgroud)
我想要的是每个复数的模数列表。
Python 本身支持复数,但它使用j的工程约定作为虚数单位,而不是数学家的i。
lr = ['3+4i', '3.123+2.43i', '0.23454-1.2134i', '0.6543+0.76543i', '1.12324+0.6543i']
for s in lr:
s = s.replace('i', 'j')
v = complex(s)
print(v, abs(v))
Run Code Online (Sandbox Code Playgroud)
输出
(3+4j) 5.0
(3.123+2.43j) 3.9570227444380457
(0.23454-1.2134j) 1.2358594465391282
(0.6543+0.76543j) 1.006971486637035
(1.12324+0.6543j) 1.2999140693138143
Run Code Online (Sandbox Code Playgroud)
我们可以使用列表推导式创建模数列表:
moduli = [abs(complex(s.replace('i', 'j'))) for s in lr]
print(moduli)
Run Code Online (Sandbox Code Playgroud)
输出
[5.0, 3.9570227444380457, 1.2358594465391282, 1.006971486637035, 1.2999140693138143]
Run Code Online (Sandbox Code Playgroud)