我是新来的蟒蛇,对不起,如果有什么问题。在Python中与集合相交的最有效方式是什么?
我想交叉几个集合(20 o 30)与他们的大量元素。
我一直在阅读和知道集合类似于哈希表(使用相同的原理)。 集合有相交的方法,我一直在尝试它,并且工作得很好。
但是,想有一个有经验的意见。
你会怎么做?
问题再次出现。 20或30个集合(可以设置,元素不重复)并且想要使它们相交。不要想象如何创建收藏(即插入无关紧要)
非常感谢!
我是新来的蟒蛇,对不起,如果有什么问题。在Python中与集合相交的最有效方式是什么?
我想交叉几个集合(20 o 30)与他们的大量元素。
我一直在阅读和知道集合类似于哈希表(使用相同的原理)。 集合有相交的方法,我一直在尝试它,并且工作得很好。
但是,想有一个有经验的意见。
你会怎么做?
问题再次出现。 20或30个集合(可以设置,元素不重复)并且想要使它们相交。不要想象如何创建收藏(即插入无关紧要)
非常感谢!
result = set1.intersection(set2, set3, set4, ...)
我想知道,在大多数实际情况下,'set1.intersection(sorted((set2,set3,...),key = len))更好吗?或者,也可以选择最小的,而不是完全分类。 – 2011-03-26 19:06:33
您可以自由地在应用程序级别上执行这种优化 – 2011-03-26 19:08:24
当然,如果我们足够关心,我们可以检查某个特定的Python实现是否已经做了类似的事情。 – 2011-03-26 19:11:16
这有什么错用套? python中的内置数据结构通常非常高效。除非你的收藏足够大,以至于你的内存不足,'set'似乎正是你所需要的,在这种情况下...... – 2011-03-26 18:59:38
没有什么不对!其实,这就是我这样做的方式。但我真的不知道这是做这件事的最好方法! – santiagobasulto 2011-03-26 19:41:04