Как я могу получить `True` из`[1, 1, 0, 0, 0] == [0, 0, 1, 1, 0]`в Python?

Пример:

У меня есть список решений a:

a = [1, 1, 0, 0, 0]

и входные списки bs:

b1 = [1, 1, 0, 0, 0]
b2 = [0, 1, 1, 0, 0]
b3 = [0, 0, 1, 1, 0]
...
bn = [1, 0, 0, 0, 1]

Если я сравню a либо b1, b2, ..., bnЯ ожидал получить True значение из сравнений. Конечно, это простое выражение не будет работать:

if a == b:
    ...

потому что в Python только одинаковые списки могут быть равны.

Есть ли какая-нибудь красивая математика, которую я могу легко реализовать на языках программирования? Сейчас я думаю о создании некоторой хэш-функции, но я все еще не уверен, как?

Примечание 1) это можно легко реализовать, просто используя цикл for, но мне нужна более надежная вещь. 2) это может быть также связано с проблемой этого поста Циклическая группа

1 ответ

Простым решением может быть настройка значений a и b:

a_original = [5, 2, 3, 1, 4]
a_formatted = sorted(a_original)

Затем вы можете просто использовать отформатированные переменные. Простой цикл for можно использовать для форматирования всех ваших переменных.

Надеюсь это поможет!

Другие вопросы по тегам