哪种检查列表中项目的方法是正确的
which way of checking item in list is correct
哪种检查列表项的方式是正确的?
>>> lst1 = ['A', 'B']
>>> if 'C' not in lst1: print 'Hi'
...
Hi
或
>>> if not 'C' in lst1: print 'Hi'
...
Hi
对我来说,第一个看起来是正确的,但仍有疑问?
不确定之前是否有人在 SO 上问过这个问题,如果是,请 link
对于这种情况,它们同样正确。
在更一般的情况下,例如当调用一个 returns 布尔值的函数时,not
必须放在前面,所以如果你更容易记住,你可以坚持保持一致。
后者有效,但有些人会认为它形式不佳或 "less Pythonic"。前者更具可读性,Python 以其可读性高的语言而自豪。
Readability counts.
—蒂姆·彼得斯,The Zen of Python
哪种检查列表项的方式是正确的?
>>> lst1 = ['A', 'B']
>>> if 'C' not in lst1: print 'Hi'
...
Hi
或
>>> if not 'C' in lst1: print 'Hi'
...
Hi
对我来说,第一个看起来是正确的,但仍有疑问? 不确定之前是否有人在 SO 上问过这个问题,如果是,请 link
对于这种情况,它们同样正确。
在更一般的情况下,例如当调用一个 returns 布尔值的函数时,not
必须放在前面,所以如果你更容易记住,你可以坚持保持一致。
后者有效,但有些人会认为它形式不佳或 "less Pythonic"。前者更具可读性,Python 以其可读性高的语言而自豪。
Readability counts.
—蒂姆·彼得斯,The Zen of Python