Возможно, вы использовали множество логических, арифметических операторов и операторов сравнения в математике и программировании во время работы. Одним из часто используемых логических операторов является оператор XOR. Он возвращает результат, прямо противоположный результату оператора OR. В этой статье мы будем использовать оператор XOR для двух значений переменных строкового типа при работе в среде Python. Приведем несколько примеров в системе Ubuntu 20.04.
Давайте рассмотрим самый первый пример, иллюстрирующий работу оператора XOR над двумя значениями строкового типа. Итак, мы попробуем использовать побитовое исключающее OR для двух строковых значений битового типа. Начните с создания нового файла python в оболочке. Используйте ключевое слово touch с именем файла. Вы можете использовать любой редактор, чтобы открыть и создать код в файле. Итак, мы использовали редактор GNU Nano в соответствии с инструкциями, показанными ниже на изображении.
$ touch xor.py $ nano xor.py
После открытия файла мы добавили поддержку python3 вверху. Две переменные строкового типа v1 и v2 инициализированы битовыми значениями. Мы использовали другую переменную для сбора результирующего значения применения XOR к обеим переменным. В этом методе функции zip особенно используются для создания кортежа из обеих строковых переменных.
Метод ord() был применен к каждому байту строки обеих переменных отдельно, чтобы каждый раз принимать по одному байту, и применил XOR с помощью оператора «^» к байтам обеих переменных. Это означает, что XOR был применен к одним и тем же индексам обеих строк одновременно. Вновь сгенерированные значения XOR будут распечатаны в оболочке с помощью новой переменной.
#!/usr/bin/python3 v1 = “100100” v2 = “101010” new = [(ord(a) ^ ord(b)) for a,b in zip(v1, v2)] print(new)
После запуска этого простого кода с пакетом python3 мы получили XOR или обе строки.
$ python3 xor.py
Приведем еще один пример использования тех же функций zip() и ord() для вычисления XOR двух строк с помощью оператора «^» в коде Python. В этом типе мы использовали простые символьные строки вместо байтовых строк в нашем коде. Итак, откройте файл и обновите строковые значения, как показано ниже. Остальной код аналогичен приведенному выше примеру кода.
#!/usr/bin/python3 v1 = “one” v2 = “two” new = [(ord(a) ^ ord(b)) for a,b in zip(v1, v2)] print(new)
После выполнения этого обновленного файла с пакетом поддержки python3 мы получили следующий результат. Результат совершенно иной в случае символьных значений строкового типа. Вы можете видеть, что мы получили XOR строковых символов как некоторых целочисленных значений.
$ python3 xor.py
В этом примере мы будем использовать символы и числа в строковой переменной. Итак, создайте две строковые переменные с символами и числами. Первая строка содержит числа, а другая строковая переменная содержит только символы. Тот же метод используется для вычисления XOR для строковых переменных и их значений в последовательности.
Этот метод принимает все значения обеих строк как символы. Оператор печати отображает XOR обеих переменных в оболочке с вершиной новой переменной. С другой стороны, если вы хотите объединить вычисленные значения XOR обеих переменных, вы можете сделать это, используя функцию join(), как показано. Оператор печати снова используется для отображения объединенного XOR.
#!/usr/bin/python3 v1 = “123” v2 = “abc” new = [chr(ord(a) ^ ord(b)) for a,b in zip(v1, v2)] v3 = “”.join(new) print(new)
При выполнении обновленного кода мы получили результат XOR, как показано ниже.
$ python3 xor.py
Эта статья содержит объяснение вычисления XOR двух строковых значений в Python. Для этой цели мы использовали метод итератора с методом zip(), методом ord(), методом join() и оператором «^». Надеемся, это будет вам полезно.