【问题标题】:Python3: Remove complex numbers from a list of numbersPython3:从数字列表中删除复数
【发布时间】:2015-04-08 00:03:23
【问题描述】:

我之前已经对列表进行了排序,但现在我只想从使用方程式生成的数字列表中删除所有复数。设计功能后,我正在考虑使用过滤器。大致如下:

filtered=list(filter(lambda x: (code to remove complex numbers), list_of_#)

或任何其他方式都可以,只是列表很大,使用代码而不是手动/眼睛删除它们是有意义的。

谢谢!

【问题讨论】:

  • not isinstance(x, complex)
  • 谢谢,这是用于 lamda 功能还是作为独立行?
  • filtered = list(filter(lambda x: not isinstance(x, complex), list_of_numbers))

标签: python-3.x lambda list-comprehension


【解决方案1】:

假设您将 cmath 用于复数,您应该能够只使用列表推导来完成它,而无需 lambda 函数。

类似的东西:

filtered = [i for i in list_of_num if i.imag == 0]

【讨论】:

  • 谢谢。会从列表中删除它还是用零替换它(假)
  • 从列表中删除它。如果你想用 0 替换它们,你可以使用 filtered = [i if i.imag == 0 else 0 for i in list_of_num]
  • comp 工作,应该想到这一点,但我认为过滤器会更好。你摇滚!
  • @11thZone 酷,不用担心,尽情享受吧。
  • 原来我需要标准化数字而不是启动它们,起初我认为复杂的温度没有物理意义。但如果我将结果标准化,我可以将所有值(温度)保留在数组中,然后绘制它们。
猜你喜欢
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多