我正在寻找一种方法来获取Python列表中在两个元素之间的所有项。算法必须遍历整个数组。
例如:
我有一个字符串如
例如:
我有一个字符串如
"Mo-Fr"
,我想最终得到一个列表:
[Monday, Tuesday, Wednesday, Thursday, Friday]
但我也希望以这种方式工作:
string = "Fr-Mo"
list = Friday, Saturday, Sunday, Monday
我的代码目前看起来像这样:string = 'Mo-Fr'
days_order = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So']
days_dict = {'Mo' : 'Montag',
'Di' : 'Dienstag',
'Mi' : 'Mittwoch',
'Do' : 'Donnerstag',
'Fr' : 'Freitag',
'Sa' : 'Samstag',
'So' : 'Sonntag',}
days = string.split('-')
days = [days_order.index(day) for day in days]
days_list = [days_dict[day] for day in days_order if days_order.index(day) in range(days[0], days[1] + 1)]
如果字符串看起来像“Mo-Fr”,那么我的代码就可以正常工作,但是当字符串为“Fr-Mo”时,代码当然不能正常工作。有什么好的方法可以干净利落地解决这个问题吗?
谢谢!