如何在列表推导中转换这个for循环?

时间:2013-03-01 04:24:39

标签: python list

我有一个像这样的for循环:

for i in conversion:
    for f in glob.glob(i):
        print(os.path.getsize(f))

我想将其转换为列表理解:

试过这个:

[os.path.getsize(f) for f in glob.glob(i) for i in conversion]

但没有奏效。

1 个答案:

答案 0 :(得分:11)

双列表解析中for循环的顺序是与嵌套循环一起使用的相同顺序:

[os.path.getsize(f) for i in conversion for f in glob.glob(i)]

这有点令人困惑,因为你希望内循环更“内在”,但是一旦你意识到它与嵌套循环的顺序相同,一切都很简单:)