gpt4 book ai didi

python - 是否有内置函数可以一步对 python 列表进行排序和过滤?

转载 作者:太空狗 更新时间:2023-10-29 21:16:21 24 4
gpt4 key购买 nike

给定一个全部带有数字名称的文件目录,我目前分两步对目录列表进行排序和过滤。

#files = os.listdir(path)
files = ["0", "1", "10", "5", "2", "11", "4", "15", "18", "14", "7", "8", "9"]

firstFile = 5
lastFile = 15

#filter out any files that are not in the desired range
files = filter(lambda f: int(f) >= firstFile and int(f) < lastFile, files)

#sort the remaining files by timestamp
files.sort(lambda a,b: cmp(int(a), int(b)))

是否有一个 python 函数结合了过滤和排序操作,因此列表只需要迭代一次?

最佳答案

那些是正交任务,我认为它们不应该混合在一起。此外,使用生成器表达式在一行中单独过滤和排序很容易

files = sorted( (f for f in files if firstFile <= int(f) < lastFile), key=int)

关于python - 是否有内置函数可以一步对 python 列表进行排序和过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4492254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com