在python开发中经常需要书写这样的代码
result = list() for data in datas: if data not in ['a', 'b']: result.append(data)
这时候我们就可以使用列表推导来替代以上的代码,列表推导简洁明了而且代码量少,运行速度也快
result = [data if data not in ['a', 'b'] for data in datas]
列表推导内部可以使用循环和判断语句,最好只有简单的循环和判断语句,否则代码可读性很差
字典推导和列表推导类似
test = [ (86, 'china'), (91, 'india'), ] result = {country: code for code, country in test}
与此类似的还有集合推导
result = {chr(i) for i in range(32, 256)}
集合推导和字典推导都是使用大括号,区别在于是否用了冒号,有冒号的是字典,没有的是集合