효과적으로 할 수있는 방법이 있나요이 수행여러 개의 ors를 수행하는 pythonic 방법은 무엇입니까?
if operator != ('+' or '-' or '*' or '/'):
것이다 솔루션을 읽을 효과적인
operator != '+' and operator != '-' and operator != '*'
효과적으로 할 수있는 방법이 있나요이 수행여러 개의 ors를 수행하는 pythonic 방법은 무엇입니까?
if operator != ('+' or '-' or '*' or '/'):
것이다 솔루션을 읽을 효과적인
operator != '+' and operator != '-' and operator != '*'
가 "의 in
운영자에게
if operator not in ('+', '-', '/')
을 할 필요없이 : if operator in ('+', '-', '*', '/')
또는 찾고처럼 단순히 if operator in '+-*/'
(감사 @kindall) 캐릭터 라인의 char 나는 개인적으로 덜 읽을 수 있지만 찾을 수 있습니다. * - +
ops = {'+': 'plus', '-': 'minus', '*': 'times', '/': 'div'}
operator = '/'
try:
print ops[operator]
except KeyError:
print "Unknow operation (%s)" % (operator)
'연산자를 사용
Otherwize 당신은 (각 연산자에 대한 기능을 결합하는, 예를 들어) 그냥 예외를 사용하는 사전도를 사용/"'... 연산자는 모두 단일 문자이므로 목록을 사용할 필요가 없습니다. – kindall
.. 및 ['+ ','- ','/ '}'in Python 3.2+] (https://docs.python.org/3/whatsnew/3.2.html#optimizations) –
@AshwiniChaudhary - Ooo ... python3.2 optimizer가 똑똑하다는 것을 몰랐습니다. 환상적입니다. – mgilson
python 2에서도 잘 작동합니다. https://docs.python.org/2/reference/expressions.html#set-displays – srj