我有一个可变数量的ArrayList的,我需要find的交集。 string数量的现实上限大概是35左右,但可能更多。 我不想要任何代码,只是想法什么是有效的。 我有一个实现,即将开始编码,但想听听其他一些想法。 目前,只是想着我的解决scheme,看起来我应该有一个渐近的Θ(n 2 )运行时间。 感谢您的帮助! tshred 编辑:澄清,我真的只是想知道有没有更快的方式来做到这一点。 比Θ(n 2 )更快。
我知道如何获得两个平面列表的交集: b1 = [1,2,3,4,5,9,11,15] b2 = [4,5,6,7,8] b3 = [val for val in b1 if val in b2] 要么 def intersect(a, b): return list(set(a) & set(b)) print intersect(b1, b2) 但是,当我必须find嵌套列表的交集,然后我的问题开始: c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63] c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, […]
几乎我需要编写一个程序来检查一个列表是否有任何重复,如果它删除它们,并返回一个新的列表与werent复制/删除的项目。 这是我的,但说实话,我不知道该怎么办。 def remove_duplicates(): t = ['a', 'b', 'c', 'd'] t2 = ['a', 'c', 'd'] for t in t2: t.append(t.remove()) return t
有什么方法可以这样做吗? 我正在寻找,但找不到任何。 另一个问题:我需要这些方法,所以我可以过滤文件。 一些是AND过滤器,一些是OR过滤器(就像在集合论中),所以我需要根据所有文件和保存这些文件的联合/相交ArrayLists进行过滤。 我应该使用不同的数据结构来保存文件吗? 还有什么可以提供更好的运行时间吗?