2024-04-19 08:54:55 发布
网友
假设我在一个目录中有10个文件,它们的名称是:
N 221 N 222 N 225 N 227 N 228 P 09 P 10 P 11
我能提取出名字(“N”,“p”)和插曲号码。然而,我想不出一个好办法来找出每个系列的最后两集,然后把其余的文件夹移到一个“旧”文件夹。感谢您的帮助。你知道吗
我想你有一张单子
episodes = [("N", 221), ("N", 222), ("N", 225), ("N", 227), ("N", 228), ("P", 9), ("P", 10), ("P", 11)]
为每个基本名称筛选出最后两集的简单方法是使用itertools.groupby()和collections.deque()的组合:
itertools.groupby()
collections.deque()
new_episodes = [] for name, it in groupby(episodes, lambda x: x[0]): new_episodes.extend(deque(it, maxlen=2))
此代码导致new_episodes为
new_episodes
[('N', 227), ('N', 228), ('P', 10), ('P', 11)]
这假设列表episodes已排序。你知道吗
episodes
我想你有一张单子
为每个基本名称筛选出最后两集的简单方法是使用
itertools.groupby()
和collections.deque()
的组合:此代码导致
new_episodes
为这假设列表
episodes
已排序。你知道吗相关问题 更多 >
编程相关推荐