2015-02-06 3 views
1

Какой способ проверки элемента в списке верен?Какой способ проверки элемента в списке правильный

>>> lst1 = ['A', 'B'] 
>>> if 'C' not in lst1: print 'Hi' 
... 
Hi 

или

>>> if not 'C' in lst1: print 'Hi' 
... 
Hi 

мне первым выглядит правильно, но все еще сомневаетесь? не уверен, что это было задано кем-то на SO раньше, если это так, пожалуйста, свяжитесь с

+5

Либо один работает. Субъективно я предпочитаю 'if 'c' не в lst', потому что я нахожу его более понятным для человека –

+0

Возможный дубликат [Python \' if x is not None \ 'or \' if not x is None \ '?] (Http://stackoverflow.com/questions/2710940/python-if-x-is-not-none-or-if-not-x-is-none) – Andy

ответ

0

Они одинаково верны для этого случая.

В более общем случае, например, при вызове функции, которая возвращает логическое значение, not должен идти впереди, поэтому, если вам это легче запомнить, вы можете придерживаться того, чтобы быть последовательным.

1

Последний работает, но некоторые считают его бедной формой или «менее питоническим». Первое является более читаемым, и Python гордится тем, что он является читаемым языком.

Показатели удобочитаемости.

- Tim Peters, The Zen of Python

Смежные вопросы