Рубрики
Без рубрики

Как проверить несколько переменных против значения в Python?

Чтобы проверить несколько переменных X, Y, Z против значения в Python, используйте значение экспрессии в {x, y, z}. Проверка членства в наборе имеет постоянную сложность времени выполнения. Таким образом, это самый эффективный способ проверить несколько переменных против значения. Вот код: Упражнение: добавьте четвертую переменную и запустите модифицированный … Как проверить несколько переменных против значения в Python? Подробнее “

Автор оригинала: Abhigyan Ojha.

Проверить несколько переменных x , y , z против ценность В Python используйте выражение Значение в {x, y, z} Отказ Проверка членства в наборе имеет постоянную сложность времени выполнения. Таким образом, это самый эффективный способ проверить несколько переменных против значения.

Вот код:

Упражнение : Добавьте четвертую переменную и запустите модифицированный код!

В этой статье вы узнаете о интересной проблеме в программировании. Интересно, потому что быстрый взгляд может дать нам чувство этой проблемы простой. Тем не менее, погружение в него может помочь нам узнать некоторые основы о логических операторах и некоторых типах данных таким образом, чтобы мы могли не думать о ранее. На самом деле, вы можете оказаться в этой ситуации, если вы начинаете. Мы постараемся исследовать некоторые решения этой проблемы, используя Python с учетом трех подходов.

  • Неправильный подход
  • Правильный подход
  • Лучший подход

Давайте посмотрим, что некоторые кодовые прохождения, чтобы понять это.

Делать это неправильно – неправильный подход

Давайте рассмотрим вышеуказанные линии кода. У нас есть три переменных, и и хотите распечатать список, «list1» как вывод, который проверяет в строке 9, 11, 13 и 15 соответственно, если либо из X, Y или Z равен 0, 1, 2 или 3 И добавьте в наш выходной список – List1, значения, C, D, E и F на основе условий вывода.

Пауза на мгновение и наблюдать. Что должно быть вывод для вышеуказанных линий кода? Теперь запустите вышеуказанный фрагмент кода. Если вы ожидали, что вывод – [«C», «D», «F»], прочитайте вдоль тщательно.

Давайте узнаем, что происходит с нашим кодом. Чтобы понять это ясно, мы должны сначала оценить несколько вещей. Логические операторы в Python Не работай Таким образом, вы ожидаете, что они будут работать на английском языке. Например, давайте посмотрим на строку 9 фрагмента кода.

Из документации Python ( Boolean Oference Office ), выражение «X или Y» первым оценивает X Отказ Если X верно, его значение возвращается. В противном случае y оценивается, и получаемое значение возвращается.

Второй момент к примечанию здесь о Оператор приоритет . Оператор «или» имеет более низкий приоритет, чем «==» оператор, и, следовательно, равенство оценивается первым.

Линия № 9 возвращает «1» (TRUE) в качестве вывода. Так что строка № 9 и 10 упрощает:

Точно так же линия 11, 13 и 15 каждый возврат 1 в качестве вывода и, следовательно, (следовательно,) «D», «E» и «F» прилагаются к списку. Ниже приведен фрагмент кода показывает вывод для всех условий индивидуально:

Операции и встроенные функции, которые имеют логический результат, всегда возвращают 0 или ложь для ложного и 1 или TRUE для TRUE, если не указано иное. Таким образом, наш окончательный вывод кодового фрагмента на фиг.11 возвращается [«C», «D», «E», «F»]

Делать это правильным способом – правильный подход

Теперь мы строим на наших ошибках выше и посмотрим на решение, которое должно дать нам ожидаемый результат. Давайте немного изменим вышеуказанную фрагмент кода и посмотрите, как он меняет ожидаемый выход:

Здесь разница видно, так как мы используем оператор «X или Y или Z» вместо «X или Y или Z». В этом случае каждая переменная здесь I.E. X, Y, Z проверяется на эквивалентность один за другим, и если условие удовлетворяет, соответствующий алфавит I.E C, D, E, F добавляется в наш список 1 соответственно. Запустите вышеуказанный код и проверьте выход.

Делать это лучшим способом: лучший подход

С Python мы получаем множество типов данных сбора/последовательности и некоторые встроенные ключевые слова, с которыми мы можем работать. Исходное представление о различных типах данных сбора/последовательности и ключевых слов, доступных для нашего использования, является упрощение того, как мы можем создавать коллекцию/последовательность данных и доступ к ним на основе оператора проблемы, с которыми мы имеем дело. Мы проверим две структуры данных – кортежи и наборы, которые приносят пользы для сценария, с которыми мы имеем дело.

Ключевое слово «In» можно использовать вместе с последовательностями, такими как списки, наборы и кортежи. Он возвращает TRUE или FALSE на основе того, найден ли операнд слева или не в последовательности. Давайте проверим фрагмент кода ниже:

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

В этом случае мы определяем переменные x, y и z, а затем проверяйте для конкретного элементарного членства с корзами в приведенном выше случае. Следовательно, на линии 9 мы проверяем, 0, чтобы быть в кортеже (0, 1, 3), что является проверкой членства, и если условие верно, мы добавляем алфавит «C» в наш список1. Затем проверка членства выполняется для значений 1, 2 и 3 соответственно, и основана на том, является ли условие истинного или ложного, соответствующие значения алфавита «C», «D», «E», «F» добавлены в наш список1.

Чтобы уточнить, в строке 9 мы получаем вывод как True, и, следовательно, «C» добавляется к List1, тогда как на линии 13, где мы проверяем на членство в 2 в кортеже (0, 1, 3), состояние является ложным И, следовательно, «E» не добавляется к list1.

Использование наборов, чтобы сделать это лучше:

Вот код для более легкой копии и вставки:

x = 0
y = 1
z = 3

list1 = []

if 0 in {x, y, z}:
    list1.append('c')
if 0 in {x, y, z}:
    list1.append('d')
if 0 in {x, y, z}:
    list1.append('e')
if 0 in {x, y, z}:
    list1.append('f')

print(list1)
# ['c', 'd', 'e', 'f']

Это решение такое же, как и вышеупомянутый раствор с кортежами. Единственное отличие – это структура данных, которую мы используем здесь. С этим решением мы выполняем проверки членства с использованием наборов и на основе условий, являющегося верными или ложными, добавление соответствующего алфавита «C», «D», «E», «F», чтобы перейти в список1.

Я надеюсь, что это объяснение помогает. Попробуйте получить руки грязные, управляющие вышеуказанными фрагментами кода, и вам будет лучше понять, когда вы закончите.

Автор

Эта статья внесла благодаря Finxter Abhigyan Ojha. Вы можете найти свой рабочий профиль здесь.