查找给定列表中虚构的坐标?

时间:2019-06-18 11:15:53

标签: python sympy

给出坐标列表,如何找到python中虚构的坐标?

ip_coord = [(59.7650000000000, -17.968172555939*I), (59.7650000000000, 17.968172555939*I)] 

我需要从上述坐标集中找出虚值,

-17.968172555939*I
 17.968172555939*I

哪些sympy功能支持上述功能?

2 个答案:

答案 0 :(得分:1)

我个人不使用SymPy,但是您似乎可以使用

ip_coord = [(59.7650000000000, -17.968172555939*I), (59.7650000000000, 17.968172555939*I)] 
imaginaries = list(map(
    lambda couple : couple[0] if im(couple[1]) == 0 else couple[1],
    ip_coord
))

答案 1 :(得分:1)

如果您只想虚数(即非实数)值,可以将其展平并测试每个值:

>>> [i for i in Tuple(*flatten(ip_coord)) if i.is_real is False]
[-17.968172555939*I, 17.968172555939*I]

(如果您已经在使用SymPy值,则不需要Tuple;但是如果您复制并超越了所显示的内容,则需要它来处理Float。)