推导式
推导式分为:列表推导式,字典推导式、集合推导式
列表推导式
变量名=[表达式 for 变量 in 列表] 或者
变量名= [表达式 for 变量 in 列表 if 条件]
执行流程:
遍历出列表中的内容给变量,表达式根据变量值进行逻辑运算。
或者遍历列表中的内容给变量,然后进行判断,符合的值在给表达式。
求lst=[1,2,3,4]每个元素的平方然后添加到新的列表中
普通for循环:
lst=[1,2,3,4]
new_lst = []
for i in lst:
new_lst.append(i * i)
print(new_lst)
列表推导式
new_lst = [i * i for i in lst]
print(new_lst)
字典推导式
字典推导式:
格式: 变量名={表达式 for 临时变量 字典}
将字典中的key和value 进行对换
普通方式
for key, value in dic.items():
dic1[value] = key
print(dic1) # {10: 'a', 12: 'b'}
字典推导式
dic1 = {value: key for key, value in dic.items()}
print(dic1) # {10: 'a', 12: 'b'}
集合推导式
集合推导式:
集合推导式跟列表推导式非常相似,唯一区别在于用{}代替[]
求每个元素的平方值,自动去重
l = [-1, 2, 4, -2]
set1 = {}
set1 = {i * i for i in l}
print(set1) # {16, 1, 4}
捕获异常
捕获异常基本语法:
try:
…代码1…
…代码2…
except 异常类型:
try中一旦检测到异常,就执行这个位置的逻辑
try:
print('程序开始了..')
print(1 / 0)
except ZeroDivisionError:
print('除数不能为0!!!')
print('程序结束了...')
程序开始了..
除数不能为0!!!
程序结束了...
多分支结构格式:
try:
执行的代码…
except 异常类型:
捕获异常1
except 异常类型 :
捕获异常2
except 异常类型:
捕获异常3
元组形式结构:
try:
执行的代码…
except(异常类型1,异常类型2,异常类型3):
捕获异常…
try:
print('程序开始了.....')
lst=[1,3]
print(1/0)
print(lst[2])
except(ImportError,ZeroDivisionError)
print('程序错误...')