#ListDictSet
#variable = [out_exp for out_exp in input_list if out_exp ==2]
multiples = [i for i in range(30) if i %3 is 0]
multiples =[i for i in range(20) if i //2 is not 0]
multiples= [x**2 for x in range(10)]
print(multiples)
mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
#这个是字典的推导式
mc = {
k.lower() : mcase.get(k.lower(),1)
for k in mcase.keys()
}
print(mc)
#快速对换一个字典的键和值:
mc1={v: k for k, v in mcase.items()}
print(mc1)
#集合推导式(set comprehensions)
#它们跟列表推导式也是类似的。 唯一的区别在于它们使用大括号{}。 举个例子
squared = {x**2 for x in [1, 1, 2]}
print(squared)
"""异常
处理多个异常
"""
# try:
# file =open('test.txt','rb')
# except IOError as e:
# raise "happpen a IOError !"
#第一种方法需要把所有可能发生的异常放到一个元组里
try:
file = open('test.txt','rb')
except (IOError,EOFError) as e:
print("多种异常")
else:#我们常常想在没有触发异常的时候执行一些代码。这可以很轻松地通过一个else从句来达到。
# 这里的代码只会在try语句里没有触发异常时运行,
# 但是这里的异常将 *不会* 被捕获
print("else exception ")
finally:#最后总会执行
print("finaly do some thing!")
# try:
# file =open('text.txt','rb')
# except IOError as e:
# raise e
# except EOFError as e:
# raise e
# except Exception:
# raise
#lambda表达式 lambda 参数:操作(参数)
add = lambda x,y : x + y
print(add(3,5))
a = [(1, 2), (4, 1), (9, 10), (13, -3)]
print(a.sort(key = lambda x : x[1]))
print(a)
list1 =[4,2,3]
list2 = [12,13,14]
data = zip(list1,list2)
data = sorted(data)
list1,list2 = map(lambda t: list(t), zip(*data))
print(list1)
print(list2)
python进阶----推导式,异常
最新推荐文章于 2023-05-13 09:02:59 发布