列表中元素的布尔语句

2024-04-19 18:58:39 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个按指数降序排列的多项式系数列表(如果len(list) == x,那么指数的范围是从整数x-1到0)。我想删除上述列表中的“small”元素,意思是abs(element) > 0 and abs(element) < .000001,但保留多项式的指数不为“small”

How do I exactly do this in 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.9999999999999 48*x^3+4.00000000000002*x^2-0.20000000000

任何建议都会很有帮助!你知道吗


Tags: and元素列表len整数abselement指数
1条回答
网友
1楼 · 发布于 2024-04-19 18:58:39

与其删除小元素,不如保留大元素:

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))))

相关问题 更多 >