微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 for 循环将列表拆分为子列表

如何解决使用 for 循环将列表拆分为子列表

我有一个通过 pathlib.glob() 得到的文件列表。在该列表中,我需要根据扩展名分块使用它们(首先是 .1,然后是 .2 等)。

我只能显示第一组文件,之后我不断得到空列表。我知道我可以通过改变我的初始 glob 来解决这个问题,但我没有看到这个问题的事实意味着我不明白某些东西是如何工作的,我需要一些帮助来解决它。

这是我第一次尝试使用列表理解:

Import sys,os
from pathlib import Path
folder = Path(os.getcwd())
files = folder.glob('*dat*')
for i in range(4):
    extension = '*.'+str(i+1)
    cat = [x for x in files if x.match(extension)]
    print(cat)

打印 [带有 .1] [] [] [] 的文件

我使用过滤器得到相同的输出

for i in range(4):
        extension = '.'+str(i+1)
        cat = list(filter(lambda x:str(x).endswith(extension),files))

显然我遗漏了一些东西,但我不知道是什么。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。