小编mko*_*lik的帖子

Python:过滤列表的最有效方法

我希望我不会在这里重复:-)

我想知道过滤python列表最有效的方法是什么.我手头的任务是找出没有出现在其他列表中的列表元素.

我的拳头列表是一个对象列表(没有不必要的细节):

Class A:
    def __init__(self,item1, item2):
        self.item1 = item1
        self.item2 = item2
Run Code Online (Sandbox Code Playgroud)

后来,在我的剧本我解析一个输入文本文件和填充list1真实数据(包括item1item2字段都是字符串)

还有第二个列表,list2只包含一个与之对应的字符串列表item1.我感兴趣的是,在list1哪里的元素item1不在list2.
(list1包含大约3000个元素,list2更大 - 大约60000个元素.)

我的拳头尝试非常明显:

notMatched = list(itertools.ifilter(lambda x: x.item1 not in list2), list1))
Run Code Online (Sandbox Code Playgroud)

现在,它按预期工作,给我我想要的东西,但我仍然想知道它是否是我能带来的最佳解决方案.任何想法的人?

谢谢

python filter

3
推荐指数
1
解决办法
321
查看次数

如何在IO上下文中生成函数的重复应用程序列表到其先前的结果

作为我试图解决的问题的解决方案的一部分,我需要生成一个函数的重复应用列表,它的先前结果.听起来非常像迭代函数,除了迭代有签名

iterate :: (a -> a) -> a -> [a]
Run Code Online (Sandbox Code Playgroud)

并且我的函数存在于IO内部(我需要生成随机数),所以我需要更多的东西:

iterate'::(a -> IO a) -> a -> [a]
Run Code Online (Sandbox Code Playgroud)

我看过hoogle,但没有太大的成功.

haskell

2
推荐指数
1
解决办法
218
查看次数

标签 统计

filter ×1

haskell ×1

python ×1