Python逆向工程师列表理解

时间:2016-05-24 22:10:54

标签: python python-3.x list-comprehension

您好我是Python和Stackoverflow的新手,所以请耐心等待。我刚刚发现了列表推导,并希望“反向工程”一个特定的代码来更好地理解它。换句话说,以下代码将如何以常规块格式显示:

    return [variable[i:i+10] for i in range(0,100,10)]

1 个答案:

答案 0 :(得分:5)

http://treyhunner.com/2015/12/python-list-comprehensions-now-in-color/是一个很好的资源,但一般来说,Python中的理解形式如下:

<expression> for <value> in <iterable> [if <criteria>]

如此突破你的榜样,我们有:

  • 表达式:variable[i:i+10]
  • i
  • 可迭代的range(0,100,10)
  • 没有标准

&#34;扩展&#34;形式是:

result = []
for <value> in <iterable>:
    [if <criteria>:]
        result.append(<value>)

(生成器,字典和集合理解都相似)

以你的榜样为例,我们得到:

result = []
for i in range(0,100,10):
    result.append(variable[i:i+10])
return result