将for循环中的元素分配给另一个列表

3

我该如何将for循环迭代的元素放入一个列表中,以便稍后在我的代码中打印它们?例如:

 for fname in dirlist:
    if fname.endswith(('.tgz','.tar')):
       print fname

fname仅在循环中显示dirlist中的所有元素。我希望在代码的其他区域查看这些元素。我尝试了li = fname ...但只有一个元素显示出来,而实际上有大约7个元素。谢谢!

1个回答

6
您可以使用列表推导式:
tarfiles = [fname for fname in dirlist if fname.endswith(('.tgz','.tar'))]

要打印文件名,请使用

print "\n".join(tarfiles)

或者

for fname in tarfiles:
    print fname

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接