gpt4 book ai didi

python - 按升序对月份名称字符串列表进行排序

转载 作者:行者123 更新时间:2023-12-05 08:39:14 25 4
gpt4 key购买 nike

有人可以指导如何对月份列表进行排序吗?

INPUT = ['August', 'September', 'October', 'November', 'December', 'January']

OUTPUT= ['January','August', 'September', 'October', 'November', 'December']

最佳答案

calendar.month_name是一个可以按正确顺序转换为月份列表的对象。假设您的输入字符串格式正确,您可以按此列表中每个字符串的索引排序:

>>> from calendar import month_name
>>> month_lookup = list(month_name)
>>> months = ['August', 'September', 'October', 'November', 'December', 'January']
>>> sorted(months, key=month_lookup.index)
['January', 'August', 'September', 'October', 'November', 'December']

您还可以使用 datetime.strptime和匹配完整月份名称的 "%B" 格式字符串。

>>> from datetime import datetime
>>> months = ['August', 'September', 'October', 'November', 'December', 'January']
>>> sorted(months, key=lambda m: datetime.strptime(m, "%B"))
['January', 'August', 'September', 'October', 'November', 'December']

请注意,这两种解决方案都会在包含无效月份字符串的列表上引发 ValueError。日期时间版本给出了更清晰的信息。

关于python - 按升序对月份名称字符串列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60624571/

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