要按照月份和年份对数组进行排序,可以使用自定义的比较函数来比较每个元素的月份和年份。
以下是一个示例代码,可以根据月份和年份字符串对数组进行排序:
from datetime import datetime
def sort_by_month_year(arr):
def get_month_year(date_str):
# 将字符串转换为日期格式
date = datetime.strptime(date_str, "%B %Y")
# 返回月份和年份的元组
return date.month, date.year
# 使用自定义的比较函数对数组进行排序
arr.sort(key=lambda x: get_month_year(x))
return arr
# 示例输入
dates = ["January 2022", "February 2021", "March 2022", "December 2021"]
# 调用函数进行排序
sorted_dates = sort_by_month_year(dates)
# 输出结果
print(sorted_dates)
运行这段代码,会输出按照月份和年份排序后的数组:
['February 2021', 'December 2021', 'January 2022', 'March 2022']
在这个示例中,我们定义了一个get_month_year
函数,用于从日期字符串中提取月份和年份。然后使用lambda
函数作为key
参数,以月份和年份作为排序的依据。最后,使用sort
方法对数组进行排序。
请注意,这个示例假设日期字符串的格式是"Month Year"
,例如"January 2022"
。如果实际的日期字符串格式不同,请相应地修改strptime
函数中的格式字符串。