Задачи с кодом

Антисписки (задача на сравнение списков в Python)

Напишите функцию, принимающую в виде аргументов два списка и определяющую, являются ли они противоположными друг другу. Функция должна возвращать True или False.

Каждая пара списков будет состоять из одинаковых элементов (типа a и b). Список считается анти-списком, если все элементы в нем противоположны соответствующим элементам в первом списке.

Примеры

is_anti_list(["1", "0", "0", "1"], ["0", "1", "1", "0"]) ➞ True

is_anti_list(["apples", "bananas", "bananas"], ["bananas", "apples", "apples"]) ➞ True

is_anti_list([3.14, True, 3.14], [3.14, False, 3.14]) ➞ False

Примечание

Исходим из того, что в каждой паре списков будут элементы только двух видов.

Варианты решения

def is_anti_list(lst1, lst2):
    return all({a, b} == set(lst1) for a, b in zip(lst1, lst2))
def is_anti_list(lst1, lst2):
    seen = set()
    for i, j in zip(lst1, lst2):
        seen.update((i, j))
        if i == j or len(seen) > 2:
            return False
    return True

Марина

Recent Posts

Библиотека Pydantic: валидация данных на Python

Pydantic - это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения…

12 часов ago

7 наилучших библиотек визуализации Python на 2024 год

Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…

4 дня ago

Как преобразовать строку в байты в Python

В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…

2 недели ago

Что такое Werkzeug?

В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…

2 недели ago

Как прибавить дни, месяцы и годы к дате в Python

При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…

3 недели ago

Социальная аутентификация в приложении на Flask

В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…

1 месяц ago