【发布时间】:2016-03-01 12:01:36
【问题描述】:
我有一个想要过滤的大列表。我想通过对列表中的每个元素执行一些操作然后删除来做到这一点
列表中的任何其他匹配元素。所需的输出是较短的ls,并删除了匹配的操作后元素。我可以做到。。但是真的很慢。
你有什么建议可以加快速度吗?
示例列表如下所示:
ls = [1,2,3,......,10000000]
操作如下:
def performOps(x):
a = x**2
b = x**5
c = x**7
return a,b,c
for elem in ls:
res = performOps(elem)
for i in res:
if i in ls[ls.index(elem)+1:]:
ls.remove(elem)
【问题讨论】:
-
您的代码不起作用-它在
ls.index(elem)电话中给了我ValueError: 2 is not in list。
标签: python filtering processing-efficiency