[翻译]Python List Comprehensions: Explained Visually || Python列表解析式

原文1地址: http://treyhunner.com/2015/12/python-list-comprehensions-now-in-color/

原文2地址: http://blog.teamtreehouse.com/python-single-line-loops

前言

进一步学习Python之后,发现了Python有别于C++的一些语法,其中比较有代表性的就是在写FOR LOOP的时候,Python的一些很简洁但是不太容易理解的表达.这种表达式叫做列表解析式(List Comprehensions).

上面的原文很详细的介绍了这个语法,我截取其中最常用的一种用法翻译并且也是记录一下.

原文1段落翻译

每一个列表解析式(List Comprehensions)都能写成一个FOR循环,但是并不是每一个FOR循环都能写成列表解析式(List Comprehensions).

那么什么时候使用列表解析式(List Comprehensions)呢?就得靠一直的练习,练习多了,就能判断出哪些问题可以用列表解析式(List Comprehensions)解决.

如果你的FOR循环能写成下面这个样子,那么就能该写为列表解析式(List Comprehensions).

new_things = []
for ITEM in old_things:
    if condition_based_on(ITEM):
        new_things.append("something with " + ITEM)

改写为列表解析式(List Comprehensions)如下

new_things = ["something with " + ITEM for ITEM in old_things if condition_based_on(ITEM)]

原文2段落翻译

 列表解析式(List Comprehensions)是什么

列表解析式(List Comprehensions)是一个通过FOR循环自己生成的一个LIST,这是Python的一个特色,格式是这样的

[thing for thing in list_of_things]

 

posted @ 2017-12-05 09:48  唐玮  阅读(296)  评论(0编辑  收藏  举报