Множественное 'или' условие в Python

У меня небольшая проблема с кодом, и она работает с IDLE, а не с Eclipse, могу ли я написать это:

if fields[9] != ('A' or 'D' or 'E' or 'N' or 'R'): 

вместо этого :

 if fields[9] != 'A' and fields[9] != 'D' and fields[9] != 'E' and fields[9] != 'N' and fields[9] != 'R': 

Спасибо.

    2 Solutions collect form web for “Множественное 'или' условие в Python”

    Используйте not in а последовательность:

     if fields[9] not in ('A', 'D', 'E', 'N', 'R'): 

    который проверяет кортеж, который Python будет удобно и эффективно хранить как одну константу. Вы также можете использовать набор литералов:

     if fields[9] not in {'A', 'D', 'E', 'N', 'R'}: 

    но только более поздние версии Python ( Python 3.2 и новее) распознают это как неизменяемую константу. Это самый быстрый вариант для более нового кода.

    Поскольку это один символ, вы можете даже использовать строку:

     if fields[9] not in 'ADENR': 

    Вы хотите, чтобы оператор:

     if fields[9] not in 'ADENR': ... 

    Или вы можете использовать any :

     if not any(fields[9] == c for c in 'ADENR'): ... 

    Или, альтернативно, all , что может иметь немного больше той же формы, что и оригинал:

     if all(fields[9] != c for c in 'ADENR'): ... 

    Как в сторону:

     if x != ('A' or 'B' or 'C'): 

    на самом деле то же самое, что сказать:

     if x != 'A': 

    потому что 'A' or 'B' or 'C' оценивается как 'A' (попробуйте!). Причина в том, что с помощью or python вернет первое значение «не-falsey» (или последнее, если все они ложны). Поскольку непустые строки не являются ложными, возвращается первая.

     
    Interesting Posts for Van-Lav

    Повторное использование соединений в Django с запросами Python

    SocketServer.ThreadingTCPServer – не удается привязать адрес после перезагрузки программы

    Использование Python PIL для превращения RGB-изображения в чистое черно-белое изображение

    Как я могу загрузить фрейм данных, сохраненный в pandas, в виде файла HDF5 в R без потери целых чисел более 32 бит?

    Python: просмотр всех файлов в шестнадцатеричном формате

    многострочные регулярные выражения python

    Кнопка Tkinter не отображается в TopLevel?

    Континентальная строка Python со списком

    График графика графика и график времени на разных осях с использованием панд

    Красивый суп, не получающий данные NBA.com

    Gio.MemoryInputStream не освобождает память при закрытии

    Как перечислить загруженные ресурсы с помощью Selenium / PhantomJS?

    Как вывести данные в zabbix

    Как сделать этот запрос GROUP BY в ORM Django с аннотацией и агрегатом

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

    Python - лучший язык программирования в мире.