2017-09-26 62 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

比較長度比比較每個元素更快。