这个语法是什么意思:paths = [line [2:] for

时间:2015-08-12 13:32:33

标签: python

我偶尔使用python;所以我理解了基本概念;但是今天我遇到了一段代码......我根本不理解:

我一直在寻找一种有效的方法来找到"发现"通过python;这SO question显示了这个答案:

paths = [line[2:] for line in subprocess.check_output("find . -iname '*.txt'", shell=True).splitlines()]

是的,它对我有用;并且与os.walk相比要快得多;所以我打算用它。但我不得不承认:我不明白它在做什么;特别是'行[2:]' part ... wtf?!

我尝试使用google / so来找到答案;好吧,搜索" python line"根本没有帮助...所以,可能是愚蠢的问题:它是什么意思?

1 个答案:

答案 0 :(得分:6)

line[2:]正在使用{{3}}从元素line创建一个[2]的子字符串到字符串的末尾。

这包含在列表推导中,它将对从subprocess.check_output

返回的每一行执行上述操作