else的用法(python中else怎么用)
学过python的都知道if和else搭配使用,可还有几种else的用法少有人知,下面说说这几种少有人知的else用法。
for可以和else搭配使用,for循环代码块正常完成后执行else代码块,若在for循环代码块中执行了break那么else代码块不会被执行。
代码案例:
某果园有销售数据如下:
客户希望对数据进行整理,期待得到的数据集格式类似如下这样:
代码:
输出:
说明:
在上述代码中运用了for和else的组合。在for i in table中遍历列表;在for j in result中遍历result列表,假设for j in result正常结束(若result为空时也算正常结束)那么会执行result.append([i[‘客户’], {i[‘种类’]: i[‘数量’], }]),表示在reslut列表中添加一条记录;在for j in result内部判定当前记录客户是否和table中的客户同名,若同名则且种类存在累加数量,若同名且种类不存在则新建该种类,之后跳出循环且包括for的else部分。
在这个案例中可以看到通过for和else的精妙配合的效果,各位可以尝试不用for和else的结构写一遍,那样会多好几行代码。
while和else也可以搭配使用,while循环代码块正常完成后执行else代码块,若在while循环代码块中执行了break那么else代码块不会被执行。
上述案例中写成while和else版本的代码:
说明:
上述代码运行结果与for和else的版本完全一致,但while循环要多写2-3行代码,没有for循环方便。
try、except和else也可以搭配,而且同样少有人知道。try尝试执行可能报错的代码;except截取指定类型的报错,若截取成功则执行except内部的代码块;else指未发生报错时要执行的代码块。
代码:
说明:
try代码块中的代码应该尽可能地少,它是为了尝试执行可能会报错的代码并用except语句捕捉和用except代码块进行处理;else代码块是在try代码块执行时未报错后执行的,若try代码块执行时报错了则else代码块不会被执行。
感谢欣赏科普知识,更多科普知识请持续关注我们。