У меня есть большое количество спортивных данных, которые я анализирую.Я пытаюсь найти последнее местоположение команды (часовой пояс).
Я решил, что создание словаря является жизнеспособным вариантом.
Это то, что я получил до сих пор, которое выводит игровые данные и часовой пояс.
schedule_ANA=dict()
#ANA is the team I'm interested in
if str(hometeam) == "ANA" or str(awayteam) == "ANA":
schedule_ANA[date]=str(timezone)
# This finds the time zone of the game on that date
print (schedule_ANA)
Это вывод
{'2018/09/08': 'GMT-5'}
{'2018/09/09': 'GMT-5'}
{'2018/08/03': 'GMT-4'}
{'2018/08/04': 'GMT-4'}
{'2018/08/05': 'GMT-4'}
{'2018/05/08': 'GMT-6'}
{'2018/05/09': 'GMT-6'}
{'2018/05/28': 'GMT-4'}
{'2018/05/29': 'GMT-4'}
{'2018/05/30': 'GMT-4'}
{'2018/05/31': 'GMT-4'}
{'2018/04/23': 'GMT-5'}
{'2018/04/24': 'GMT-5'}
{'2018/08/28': 'GMT-7'}
{'2018/04/25': 'GMT-5'}
{'2018/09/01': 'GMT-5'}
Теперь мне нужно рассмотретьПРЕДЫДУЩИЙ часовой пояс с этой даты.
Я хочу найти часовой пояс последней игры.Я хочу вернуться назад на 1 день, пока не появится дата / часовой пояс следующей игры.
Например, если игра состоится 28 августа 2018 года по Гринвичу-7, игра не состоится 29, 30 или 31Август, затем еще одна игра в 1 сентября 2018 года в GMT -5, я хочу, чтобы функция возвращала GMT -7, когда вводится 1 сентября 2018 года.
Я хочу использовать оператор if, чтобы сказать
if date == 2018/09/01
previous_date=date-1
previous_timezone= schedule_ANA[previous_date]
Я не уверен в следующих вещах 1. Если это правильный синтаксис для словаря 2. Как преобразовать дату в формат, чтобы это работало (вернитесь на 1 день к предыдущему месяцу)
Заранее спасибо!
-
-
РЕДАКТИРОВАТЬ Спасибо всем, кто прокомментировал.Я пытаюсь реализовать некоторые решения в ответах.Это мой обновленный код, но я все еще получаю ошибку
schedule_ANA=dict()
#ANA is the team I'm interested in
if str(hometeam) == "ANA" or str(awayteam) == "ANA":
schedule_ANA[date]=str(timezone)
# This finds the time zone of the game on that date
print (schedule_ANA)
from datetime import datetime
from ast import literal_eval
schedule_ANA = [literal_eval(i) for i in schedule_ANA]
sorted_dates = sorted([(k,v)for i in schedule_ANA for k,v in i.items()], key=lambda x: datetime.strptime(x[0], "%Y/%m/%d"))
Ошибка
Traceback (most recent call last):
File "H:/2019sem2/egh400/Code/rev40.py", line 147, in <module>
schedule_ANA = [literal_eval(i) for i in schedule_ANA]
File "H:/2019sem2/egh400/Code/rev40.py", line 147, in <listcomp>
schedule_ANA = [literal_eval(i) for i in schedule_ANA]
File "C:\Program Files\IBM\SPSS 25\Python3\lib\ast.py", line 46, in literal_eval
node_or_string = parse(node_or_string, mode='eval')
File "C:\Program Files\IBM\SPSS 25\Python3\lib\ast.py", line 35, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 1
2018/04/03
^
SyntaxError: invalid token