Я работаю на project, где встал вопрос о следующей строке:Лучшая практика Python: серия «или» или «в»?
a == "EQUAL" or a == "NOT EQUAL" or a == "LESS" or a == "GREATER"
Я предложил изменения, чтобы сделать его «проще», как так:
a in ["EQUAL", "NOT EQUAL", "LESS", "GREATER"]
Что будет считаться лучшим практика и что было бы лучше всего для производительности? Это для кода пользовательского интерфейса, который часто обновляется, поэтому незначительные улучшения производительности могут быть заметны. Я знаю, что первый пример будет «неудачным», если таковой обнаружен, и я предполагаю, что второй будет также.
Кроме того, не было бы даже быстрее использовать Dict как:
a in {"EQUAL", "NOT EQUAL", "LESS", "GREATER"}
... так что список не должен был бы быть построен?
Единственное PEP-8 говорит (что я мог бы найти):
... код читается гораздо чаще, чем написано. Рекомендации, приведенные здесь, предназначены для улучшения читаемости кода ...
Однако, знайте, когда нужно быть непоследовательным - иногда рекомендации по руководству по стилю не применимы. Когда вы сомневаетесь, используйте свое лучшее суждение. Посмотрите на другие примеры и решите, что выглядит лучше всего.
Ваш 'dict' является' set', но кроме того, что это хороший вариант. – Matthias
@Matthias Что было бы проблемой с набором (кроме отсутствия порядка, который здесь не является проблемой)? – JakeD
Нет проблем с набором. Просто используйте его. – Matthias