Assuming you don't care about order. There are a few options here, the best solution depends on the contents of your lists. Here are a few possibilities in order of preference (and restrictions):
If there are no duplicates, and all items are hashable:
set(a) == set(b)
If there are duplicates, and all items are of the same type:
sorted(a) == sorted(b)
If there are duplicates and the list may have mixed types, and all types are hashable:
collections.Counter(a) == collections.Counter(b)
If there are duplicates, the list may have mixed types, and some elements may not be hashable (there must be a better way to do this, but what I came up with was to turn each element into a tuple with the string representation of the type, followed by the value):
keyfunc = lambda x: (str(type(x)), x)
sorted(a, key=keyfunc) == sorted(b, key=keyfunc)