Python 并列和或者条件的使用说明

对Python 同时符合两个的条件的语句,用and连接,不能用&&(会报错);

也可以用or表示或者。

代码如下:

print '开始测试'
  a = 12
  b = 13
  c = 1
  a_s = '12'
  b_s = '13'
  if a < b and a_s < b_s:
    print 'True'
  else:
    print '不成立'

  if a < b or a_s > b_s:
    print 'True'
  else:
    print '不成立'

输出:

# 开始测试
# True
# True

判断一个 list 是否为空

传统的方式:

if len(mylist):
  # Do something with my list
else:
  # The list is empty

由于一个空 list 本身等同于 False,所以可以直接:

if mylist:
  # Do something with my list
else:
  # The list is empty
 

补充:python if语句多个条件-python if条件判断语句

if的基本格式

if语句用来做判断,并选择要执行的语句分支。

基本格式如下:

if CONDITION1:
code_block(1)
elif CONDITION2:
code_block(2)
elif CONDITION3:
...
...
else:
code_block_else

其中elif是可选的,可以有任意多个,else是可选的,表示全都不满足条件时该执行的分支。

例如:

a = 4
if a > 3:
print("hello world")

条件表达式Condition部分以运算结果的True、False为if的分支执行依据。在Python中所有数据对象要么是True,要么是False,所以任何一个数据、表达式都可以作为if的Condition。

例如:

if 1:
...
if a > b:
...
if 'a':
...
if []:
...
if [[]]:
...
if a and b:
...

至于如何判断True、False,参见布尔值和逻辑运算。

switch/case的替代方案

在python中并没有switch和case的分支选择语句,但是使用if或dict也能轻松实现。

例如,使用dict实现等值的分支选择:

D = {
"apple": 8.0,
"pear": 3.5,
"orange": 2.5,
"banana": 2.5
}
fruit = "banana"
print(D[fruit])

上面没有提供default情况时的分支,但使用get()可以设置dict中找不到key时默认返回的值。

例如:

print(D.get("greens","no this fruit"))

还可以通过in的成员测试来设置分支:

if fruit in D:
print(D[fruit])
else:
print("no this fruit")

dict只能做等值比较的分支选择,要提供非等值的分支比较,只能用if语句。

例如:

score = 77
if score >= 90:
print("优秀")
elif 70 <= score < 90:
print("良好")
elif 60 <= score < 70:
print("及格")
else:
print("不及格")

使用if的好处是通俗易懂,使用dict的好处是将数据存储到数据结构中,而存储到数据结构中的数据可以是很复杂的。比如,将函数作为dict的value。

if/else三元表达式

即所谓的三目运算,只不过python中不支持x ? y : z的方式,而是使用if的另一种表达式语法。

对于if x: xxx; else yyy这样的两分支语句,可以使用更精简的表达式方式来描述:

xxx if x else yyy

虽然看上去和原始的没什么区别,但很多时候要方便的多。

例如赋值:

if x:
a = y
else:
a = z

等价的三元if写法:

a = y if x else z

注意,上面"="表示这整行是一个赋值语句,右边的是评估对象,评估之后赋值给a,也就是等价于a = (y if x else z),而不是等价于(a = y) if x else z。

else不能缺少,否则不是三元运算。另外,if的分支代码体y和z都必须只能是单条语句,不能是多语句。也就是说,不能转换下面的代码格式为三元表达式。

if x:
statement1
statement2
else:
statement3
statement4

实际上,三元运算也能使用and / or来实现,还能使用序列 + bool()来实现。

例如:

a = ((x and y) or z)

一般比较少用and/or来实现分支,因为可读性不好,而且并不总是能和if等价。但有一种情况使用and/or非常方便:从多个值中选择一个真值。

例如:

a = x or y or z or None

下面是使用序列 + bool()的方式实现的三元运算操作,思路是bool(CONDITION)作为序列的索引。

a = [y, z][bool(x)]

还是那句话,python中基本总是首选简单的、通俗易懂的方式。所以,用if吧。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • Python的条件语句与运算符优先级详解

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false. Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句-- else: 执行语句-- 其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围. el

  • Python中if有多个条件处理方法

    Python中if有多个条件怎么办 python中if有多个条件,可以使用and.or.elif关键字来连接. Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句--else: 执行语句-- if 语句的判断条件可以用>(大于).<(小于).==(等于).>=(大于等于).<=(小于等于)来表示其关系. 当判断条件为多个值是,可以使用以下形式: if 判断条件1: 执行语句1--elif 判断条件2: 执行语句2--elif 判断条件3:

  • 浅析Python中的多条件排序实现

    多条件排序及itemgetter的应用 曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣. 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球,再相同按进球数,再相同按失球数. 即按积分P.净胜球GD.进球GS.失球GA这样的顺序. 在python中,排序非常方便,排序的参数主要有key.reverse.参数cmp不建议使用了,在python3.0被移除了,用参数key代替. 对于多条件排序,也非常简单,

  • python中的&&及||的实现示例

    首先说明一下,在python中是没有&&及||这两个运算符的,取而代之的是英文and和or.其他运算符没有变动. 接着重点要说明的是python中的a.any(),我之所以会涉及到这个函数,是因为我在设计某个分段数值函数时由于不细心犯的错误引起的.a.any(),根据官方解释: Test whether any elements of an array evaluate to True along an axis. 即针对的是一个list,判断list中的某个元素是否为真,此时只要有一个元

  • Python 并列和或者条件的使用说明

    对Python 同时符合两个的条件的语句,用and连接,不能用&&(会报错): 也可以用or表示或者. 代码如下: print '开始测试' a = 12 b = 13 c = 1 a_s = '12' b_s = '13' if a < b and a_s < b_s: print 'True' else: print '不成立' if a < b or a_s > b_s: print 'True' else: print '不成立' 输出: # 开始测试 #

  • 对python中的控制条件、循环和跳出详解

    对python中的控制条件.循环和跳出详解 代码缩进(代码块): python用缩进表示代码块,没有其他语言的大括号 缩进是强制检查,整个代码缩进必须一致,否则无法运行 用2.4个空格或者tab缩进 ide自动保证缩进一致 If.elif和else的条件分支: if if...else if...elif..else 没有switch.case语法 空的列表.元祖.字符串.0都被评估为False None被评估为False 控制条件后面必须加":" a=100 if a > 80

  • python按照多个条件排序的方法

    对tuple进行排序,先按照第一个元素升序,如果第一个元素相同,再按照第二个元素降序排列. L = [(12, 12), (34, 13), (32, 15), (12, 24), (32, 64), (32, 11)] L.sort(key=lambda x: (x[0], -x[1])) print(L) 结果: [(12, 24), (12, 12), (32, 64), (32, 15), (32, 11), (34, 13)] 以上这篇python按照多个条件排序的方法就是小编分享给大

  • python对Excel按条件进行内容补充(推荐)

    关于xlrd/xlwt和openpyxl的差别 两者都是对于excel文件的操作插件,两者的主要区别在于写入操作, 其中xlwt针对Ecxec2007之前的版本,即.xls文件,其要求单个sheet不超过65535行, 而openpyxl则主要针对Excel2007之后的版本(.xlsx),它对文件大小没有限制. 另外还有区别就是二者在读写速度上的差异,xlrd/xlwt在读写方面的速度都要优于openpyxl,但xlwt无法生成xlsx openpyxl的用法 官方文档 先了解下Workshe

  • Python基础学习之条件控制语句小结

    一.条件控制语句的补充 在循环里面,我们可以通过关键字来手动终止循环,而不是把整个程序停了来终止. 三种语句:break return continue都可以使循环停止 不过return一般都是用到函数里面的,都是使用break 而continue 不是用来终止循环的,具体作用看下面代码示例 二.break 看汉语也有个大概思想:打破 它的作用是打破循环,使循环碰到它后终止 break的作用是打破结构体,使程序退出当前代码块 下面看这个例子,我们要实现的功能是循环获取用户从键盘输入的数据,直到输

  • 编程语言榜单Java与Python并列第二!Julia下滑

    目录 RedMonk 编程语言排行榜 TOP 20 值得关注的变化 Java TypeScript Go/Kotlin/Rust Dart Julia 近日,全球知名行业分析公司 RedMonk 发布了 Q3 的编程语言榜单,本排行榜基于 GitHub 和 Stack Overflow 两大社区中使用及讨论的编程语言热度进行排行,真实地反应了开发者对各大编程语言应用的现状,也希望透过此榜单能够为更多的从业者在工具的抉择层面带来一些借鉴. RedMonk 编程语言排行榜 TOP 20 通过调查与分

  • Python中三种条件语句示例介绍

    目录 if if…else if…elif…else 总结 if """ 条件语句: if if...else if...elif...else if 语句的格式: if 条件: 条件成立要执行的语句 条件:运算符构成---> bool """ print(1) print(2) result = input('请输入(y/n):') if result == 'y': print('good~') print('-'*20) if…els

  • Python流程控制if条件选择与for循环

    目录 1.if条件选择 2.for循环 3.while循环 4.break 及 continue 1.if条件选择 # coding:utf-8 num = 23 if num>2: print("dayu") if num<2: print("xiaoyu") ## if else if num>10: print("D") else: print("A") ## if elif else if num &

  • Python入门篇之条件、循环

    1.if语句 Python 中的if子句看起来十分熟悉. 它由三部分组成: 关键字本身, 用于判断结果真假的条件表达式, 以及当表达式为真或者非零时执行的代码块. if 语句的语法如下: if expression: expr_true_suite if 语句的 expr_true_suite代码块只有在条件表达式的结果的布尔值为真时才执行, 否则将继续执行紧跟在该代码块后面的语句. (1)多重条件表达式 单个if语句可以通过使用布尔操作符and,or和not实现多重判断条件或是否定判断条件.

随机推荐