奇怪的列表理解行为

时间:2013-06-25 17:25:01

标签: python list list-comprehension

我通常不喜欢使用奇怪的词,因为我觉得它不是很具描述性,但我无法弄清楚这个列表理解发生了什么,而且看起来微不足道。

current_path = os.path.dirname(os.path.abspath(__file__))
relative_paths = ["/testdir/extension.foo, /testdir/nested/extension.foo"]
absolute_paths = [(current_path+item) for item in relative_paths]

我会假设输出的结果如下:

absolute_paths = [absolute_path, absolute_path]

但输出是:

absolute_paths = [absolute_path, relative_path]

列表理解对第二个条目没有任何作用,老实说这让我感到困惑。我从未经历过这样的事情。任何有关这方面的帮助将不胜感激。

1 个答案:

答案 0 :(得分:8)

您忘记在relative_paths中拆分路径。看起来更难。