python中常用的推导(字典推导和列表推导)

在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)}

集合推导和字典推导都是使用大括号,区别在于是否用了冒号,有冒号的是字典,没有的是集合

posted @ 2018-03-22 10:43  菲菲菲菲菲常新的新手  阅读(230)  评论(0编辑  收藏  举报