Checks if two lists contain the same elements regardless of order.
- Use
set()
on the combination of both lists to find the unique values. - Iterate over them with a
for
loop comparing thecount()
of each unique value in each list. - Return
False
if the counts do not match for any element,True
otherwise.
代码实现
def have_same_contents(a, b):
for v in set(a + b):
if a.count(v) != b.count(v):
return False
return True
使用样例
have_same_contents([1, 2, 4], [2, 4, 1]) # True
翻译自:https://www.30secondsofcode.org/python/s/have-same-contents