2016-09-22 22 views

回答

2

有一个更简洁的方式,但它不是真的任何清洁剂,它肯定不是更清晰。

x = complex(*[float(w) for w in '1.000,.001'.split(',')]) 
+0

我不是专家。什么是复杂的(* z)符号?我在哪里可以读到它,它做了什么? – pheon

+0

'complex'是一个返回复数的构造函数。以下是复数的解释:https://en.wikipedia.org/wiki/Complex_number –

+0

我正在密集。我的意思是''*'在'complex(\ *')中。'*'是做什么的? – pheon

0

我想你可以做的稍微短

real, imag = s.split(',') 
x = complex(float(real), float(imag)) 

不涉及列表理解。

2

你有什么好。唯一的改善,我可以建议是使用

complex(*z) 

如果你想一个班轮它:

>>> complex(*map(float, s.split(','))) 
(1+0.001j) 
-1

如果可以信任该数据不会有危险或希望此代码高尔夫球:

>>> eval('complex(%s)' % s) 
(1+0.001j) 
相关问题