How to efficiently compare two unordered lists (not sets) in Python?

前端 未结 10 1119
刺人心
刺人心 2020-11-22 15:00
a = [1, 2, 3, 1, 2, 3]
b = [3, 2, 1, 3, 2, 1]

a & b should be considered equal, because they have exactly the same elements, only in different

10条回答
  •  野性不改
    2020-11-22 15:39

    If the list contains items that are not hashable (such as a list of objects) you might be able to use the Counter Class and the id() function such as:

    from collections import Counter
    ...
    if Counter(map(id,a)) == Counter(map(id,b)):
        print("Lists a and b contain the same objects")
    

提交回复
热议问题