Task 01 - 部分学习内容解析与补充
Python基础入门:从变量到异常处理(第三天)
5.10 循环语句 - 推导式
补充
列表推导式生成矩阵
考虑以下场景,在已有的列表的基础上,你需要对其进行横向扩充
比如已知的list为[11, 33, 55, 77], 现在的需求是扩充为[[11, 13, 15, 17], [33, 35, 37, 39], [55, 57, 59, 61], [77, 79, 81, 83]],即在原有的基础上再增加一个维度,以2的步长。
第一种方法,我们会想到用:
test_list_1 = [ [x, x+2, x+4,x+6] for x in [11, 33, 55, 77] ]
# [[11, 13, 15, 17], [33, 35, 37, 39], [55, 57, 59, 61], [77, 79, 81, 83]]
当列数比较小的时候,这是方便可行的,但当矩阵的列数较多写起来就麻烦了
这时候可以使用另外一种方式,
第二种方法,在循环变量的表达式中使用列表推导式:
test_list_2 = [ [ y for y in range(x, x+8, 2) ] for x in [11, 33, 55, 77] ]
# [[11, 13, 15, 17], [33, 35, 37, 39], [55, 57, 59, 61], [77, 79, 81, 83]]
6 异常处理
补充
断言(Assertions)
当我们需要调试程序的时候,python提供了两个功能(异常处理 & 断言)来帮助我们处理python程序在运行中出现的异常和错误。这里补充下断言的内容。
assert 语句 如果assert后面语句为真则通过,为假则报错
def is_huiwen_num(num):
transfer_num = str(num)
return transfer_num == transfer_num[::-1]
if __name__ == "__main__":
assert is_huiwen_num(12322) == True, "不是回文字,报错啦"
assert is_huiwen_num(12321) == True
print("assert")
输出结果为
Traceback (most recent call last):
File “”, line 5, in
assert is_huiwen_num(12322) == True, “不是回文字,报错啦”
AssertionError: 不是回文字,报错啦
望批评指正
如果认为对你学习有帮助
欢迎收藏❤帮我点个赞👍谢谢你哦❤
未经同意不准转载^ . ^