0
From given three array find the duplicates which have same attributes in all the three arrays.
It runs fine but it prints 1 more if more than one duplicate is present. https://code.sololearn.com/cq6PI2W1T5bP/?ref=app
5 Answers
+ 2
print(len(l1)-len(set([tuple(i) for i in l1])))
+ 1
Thanks it work. But can you explain that?
+ 1
Ok thanks. Why should I convert it to tuple. Why It shows error when I use len(set(l1))
+ 1
In simple terms, lists can't be used inside sets, but tuples can.
0
[tuple(i) for i in l1] converts every element of l1 into a tuple.
[[1, 2], [3, 4]] -> [(1, 2), (3, 4)]
set(...) removes all duplicates (it can do much more than that).
len(l1)-len(set(...)) returns the total number of items minus the number of unique items, resulting in the number of duplicate items.