编写更好的代码而不是2 for循环

sam*_*sam 15 python for-loop list

我有2个循环,我想让它更好像列表理解或lambda或其他.我怎么能实现同样的目标?

例如 :

filename = ['a.txt', 'b.txt', 'c.txt']
for files in filename:
    for f in glob.glob(os.path.join(source_path, files)):
        print f
        ... some processing...
Run Code Online (Sandbox Code Playgroud)

the*_*orn 27

你的代码完全没问题.你只能通过引入不必要的复杂结构使其不易清晰.

  • @CppLearner我不同意4个嵌套循环,*通常*如果你发现自己需要4个嵌套循环,那么它是引入函数和重构的好地方.但是,在这种情况下使用的2个嵌套循环看起来非常好. (4认同)
  • +1.并且,Pythonic ==英语.有时你别无选择,只能使用2,3或甚至4个嵌套循环编写,因为很难使用理解或lambda.而风格的烦恼可以让你永远地调试和编写文档. (3认同)
  • 列表推导和lambdas都不会提高代码的清晰度,因此它们只会增加复杂性.当然,有些情况下他们可以让事情更清楚,但这不是那个时代之一. (2认同)