在Python中使用IF语句时,必须执行以下操作才能使"级联"正常工作.
if job == "mechanic" or job == "tech": print "awesome" elif job == "tool" or job == "rock": print "dolt"
有没有办法让Python在检查"等于"时接受多个值?例如,
if job == "mechanic" or "tech": print "awesome" elif job == "tool" or "rock": print "dolt"
Greg Hewgill.. 36
if job in ("mechanic", "tech"): print "awesome" elif job in ("tool", "rock"): print "dolt"
括号中的值是元组.该in
运营商检查是否右手柄元组内的某处发生左侧项目.
请注意,当Python使用in
运算符搜索元组或列表时,它会执行线性搜索.如果右侧有大量项目,这可能是性能瓶颈.更大规模的方法是使用frozenset
:
AwesomeJobs = frozenset(["mechanic", "tech", ... lots of others ]) def func(): if job in AwesomeJobs: print "awesome"
使用frozenset
过set
,如果真棒职位列表不需要你的程序的操作过程中被改变是首选.
if job in ("mechanic", "tech"): print "awesome" elif job in ("tool", "rock"): print "dolt"
括号中的值是元组.该in
运营商检查是否右手柄元组内的某处发生左侧项目.
请注意,当Python使用in
运算符搜索元组或列表时,它会执行线性搜索.如果右侧有大量项目,这可能是性能瓶颈.更大规模的方法是使用frozenset
:
AwesomeJobs = frozenset(["mechanic", "tech", ... lots of others ]) def func(): if job in AwesomeJobs: print "awesome"
使用frozenset
过set
,如果真棒职位列表不需要你的程序的操作过程中被改变是首选.