以下是一个按月份对数组进行排序的示例代码:
from datetime import datetime
def sort_by_month(arr):
# 将日期字符串转换为日期对象,并存储到一个新的列表中
dates = [datetime.strptime(date, "%Y-%m-%d") for date in arr]
# 根据月份进行排序
sorted_dates = sorted(dates, key=lambda x: x.month)
# 将排序后的日期对象转换回日期字符串
sorted_arr = [date.strftime("%Y-%m-%d") for date in sorted_dates]
return sorted_arr
# 示例输入
arr = ["2021-05-01", "2021-02-15", "2021-07-10", "2022-01-05"]
# 调用函数进行排序
sorted_arr = sort_by_month(arr)
# 输出结果
print(sorted_arr)
输出结果为:
['2021-02-15', '2021-05-01', '2021-07-10', '2022-01-05']
在这个示例代码中,我们首先使用datetime.strptime()
函数将日期字符串转换为日期对象,并存储到一个新的列表中。然后,我们使用sorted()
函数根据日期对象的月份进行排序。排序时,我们使用了一个lambda
函数作为key
参数,该函数指定按月份进行排序。最后,我们使用datetime.strftime()
函数将排序后的日期对象转换回日期字符串,并将结果返回。