我必须根据月份名称对字符串列表进行排序:
my_list = ['apple_april', 'banana_july', 'carrot_december', 'dog_january']
我必须在一月,二月,马尔奇。。。。。你知道吗
我的审判:
months = [m.split('_')[1] for m in my_list]
ans = [x for (y,x) in sorted(zip(months,my_list))]
但是没有成功,你会怎么做呢?你知道吗
预期的答案是:
['dog_january', 'apple_april', 'banana_july', 'carrot_december']
你可以把月份和它们在日历中的相应位置编成字典:
然后通过在字典中查找月份对列表进行排序。首先在下划线上拆分列表的每个元素(它给出一个列表,如
['dog', 'january']
),然后使用months.get
在字典中查找此列表的最后一个元素:编辑:
如果你已经安装了
dateutil
,这是一种更懒惰的方法。。。你知道吗不需要字典!
dateutil.parser.parse
将月份字符串解析为datetime
对象。你知道吗^{} ,^{} 接受可选的
key
参数。传递一个键函数,将相应的数字返回给monthes。你知道吗months
是使用^{相关问题 更多 >
编程相关推荐