解析器
更高效(B格)的列表生成方法.
有两种书写方法:
[target for target in source]: 无需函数操作list(map(function(), source]: 提取后
例如, 获取矩阵M的第二列所有元素列表:
方法一: result = [m[1] for m in M]
再例如, 对矩阵M的每一行进行单独求和
方法二: result = list(map(sum, M))
方法一还可以进行if语句判断:result = [m[1] for m in M if m[1] % 2 == 0]
事实上, 列表, 字典, 集合都支持解析器快速创建.
练习: 生成Hello的ANSCII-word字典. (提示: ord()函数用来提取字符的ANSCII码)
{ord(x): x for x in "Hello"}