Python3(十二) Pythonic与Python杂记
一.用字典映射代替switch case语句 if/else可以代替switch但是非常不合适。 用字典代替switch: day = 5 switcher = { 0:'Sunday', 1:'Monday', 2:'Tuesday' } day_name = switcher.get(day,'Unknow') print(day_name) 利用get()完整模拟。 在字典中模拟带函数的switch: day = 6 def get_sunday(): return 'Sunday' def get_monday(): return 'Monday' def get_tuesday(): return 'Tuesday' def get_default(): return 'Unknow' switcher = { 0:get_sunday, 1:get_monday, 2:get_tuesday } day_name = switcher.get(day,get_default)() print(day_name) 二.列表推导式 根据已经存在的列表创建新的列表: a = [1,2,3,4,5,6,7,8] b = [i * i for i in a] print(b) #[1, 4, 9, 16, 25, 36, 49, 64] 或者i**2也事代表i的平方。 条件筛选