我试图制作一个应用程序以在文件夹中找到最新的动漫剧集。
我现在在这里我有以下格式的项目列表:
episode_name - ep_numnaruto - 11naruto - 12bleach - 11bleach - 12等,我都将其保存到列表中,但是我无法找出一种找到所有系列的最新剧集的方法。

因此,我需要一种创建新列表的方法,每个列表仅具有:anime_name - latest_ep_num,这样我便可以检查某个网站上是否有新剧集。

最佳答案

您可以使用如下所示的方法来最大程度地发挥作用

max(anime_list, key = lambda x: int(x.split('-')[1]))


还有一个示例来区分不同的序列,并获得每个序列的最大值:

anime_list = ['naruto - 11', 'naruto - 12', 'naruto - 13','not naruto - 12','not naruto - 13']
import itertools
g = itertools.groupby(anime_list,lambda x: x.split('-')[0])
f = [(series, max(list(episode),key=lambda x: x.split('-')[1])) for series,episode in g]


并且,如果您的剧集名称中带有短划线(而不是在剧集编号之前),则可以使用以下帮助函数来分隔剧集名称/编号。

import re

episode = 'naruto - o no dash - 12'

def split_episodes(episode):
    ep = re.split('( - )',episode)
    return [''.join(ep[0:-2]), ep[-1]]

print(split_episodes(episode))

10-05 19:50