当前位置:  开发笔记 > 编程语言 > 正文

使用OR与IF语句进行比较

如何解决《使用OR与IF语句进行比较》经验,为你挑选了1个好方法。

在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"

使用frozensetset,如果真棒职位列表不需要你的程序的操作过程中被改变是首选.



1> Greg Hewgill..:
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"

使用frozensetset,如果真棒职位列表不需要你的程序的操作过程中被改变是首选.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有