该代码的非列表理解版本将如何?

时间:2019-06-07 11:23:41

标签: python-3.x list-comprehension

我是python的初学者,他想出了办法来了解螺母和螺栓。

无法找到此声明的非列表理解版本

[(u, v) for u, v, d in T.edges(data=True) if d['date'] < date(2010, 1, 1)]

我所知道的是在操纵输出表达式,但是这里的输出表达式可能仅在可迭代对象满足特定条件时才生成。请澄清

1 个答案:

答案 0 :(得分:2)

列表理解的总体思路是:

[result for elements in iterable if condition]

翻译为:

ret = []
for elements in iterable:
    if condition:
        ret.append(result)

例如:

[x for x in range(10,20) if x%3 == 0]
# => [12, 15, 18]

与以下方式完全相同:

ret=[]
for x in range(10,20):
    if x%3 == 0:
        ret.append(x)

ret # => [12, 15, 18]