当前位置:  开发笔记 > 编程语言 > 正文

列表中元素的布尔语句

如何解决《列表中元素的布尔语句》经验,为你挑选了1个好方法。

假设我有一个按指数降序排列的多项式系数列表(如果len(list) == x那么指数的范围从整数x-1到0).我想删除所述列表中的"小"元素,这意味着abs(element) > 0 and abs(element) < .000001保持多项式的指数不是"小".

我如何在Python 3.0中完成此操作?

这是我在上下文中想要的一个例子:

my_list = [3.000000000000000e-12, 4.99999999999948, 4.00000000000002, -0.000042535500000e-15, -0.200000000000000] exponents = [4,3,2,1,0] #As stated previously' ``>>> newlist = [4.99999999999948, 4.00000000000002, -0.200000000000000] ``>>> nexexp = [3,2,0]

因此,多项式的形式为4.999999999999948*x ^ 3 + 4.000000000000002*x ^ 2 -0.200000000000000

任何建议都会非常有帮助!



1> DYZ..:

不要删除小元素,而是保留大元素:

newlist,newexp = zip(*[(x,e) for x,e in zip(my_list,exponents) if abs(x) > 1e-6])

您也可以使用过滤器:

newlist,newexp = zip(*filter(lambda x: abs(x[0]) > 1e-6, zip(my_list,exponents))))

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有