Как сравнить 2D-списки для равенства в Python?

Учитывая два списка:

a = [[1,2],[3,4]] b = [[1,2],[3,4]] 

Как бы я написал compare таким образом:

 compare(a,b) => true 

Вы хотите это:

 >>> a = [[1,2],[3,4]] >>> b = [[1,2],[3,4]] >>> a == b True 

Примечание: == Не полезно, когда List неупорядочен, например ( порядок уведомления в a и b )

 >>> a = [[3,4],[1,2]] >>> b = [[1,2],[3,4]] >>> a == b False 

См. Этот вопрос для дальнейшей справки: Как сравнить список списков / наборов в python?

Редактировать : Спасибо @dr jimbob

Если вы хотите сравнить после сортировки, вы можете использовать sorted(a)==sorted(b) .
Но опять-таки точка, если c = [[4,3], [2,1]] затем sorted(c) == sorted(a) == False потому что sorted(c) разные [[2,1],[4,3]] ( не в глубине )

для этого вам нужно использовать методы из связанного ответа. Так как я тоже изучаю Python 🙂

Просто:

 def compare(a, b): return a == b 

Другой способ – использовать lambda для создания анонимной функции:

 compare = lambda a, b: a == b