2017-09-26 60 views
-7

我有两个大整数集set1set2。任何人都可以告诉我下面哪一个更高效?在Python中有效比较两组

例子:

if(set1 == set2) 

if(len(set1)==len(set2)) 
+3

他们没有做同样的事情。 – Lafexlos

+1

你想检查值是否相同或长度相同? – Vaibhav

+1

显然比较长度比比较每个元素更快。 (注意,如果语句在Python中不需要括号。) –

回答

2

你明白这两种说法是彼此完全不同。

if(set1==set2)比较两个集合中每个元素的相等性,并且当且仅当两个集合完全相同时评估为真。

if(len(set1)==len(set2))只比较两组的长度。 即使你有两套长度相同的套件,也可能有不同的情况。对于例如考虑:

SET1:[1,3,6,29,31]

SET2:[1,3,7,10,15]

虽然套有相同的长度,他们是不一样的。

您可以这样做以节省时间。

if len(set1) == len(set2): 
    if set1 == set2: 
     //TODO when sets are equal 
    else 
     //TODO when sets are not equal. 
else 
    //TODO when sets are not equal 
0

比较长度比比较每个元素更快。