Я пытаюсь сохранить свои оценки по каждому периоду в словареPython - Обновление словаря в цикле
for classes in soup.find_all("div", "AssignmentClass"):
grades = classes.findAll("span")[5]
periods = classes.findAll("a", "asmt_link")
final = {}
for i in grades:
for x in periods:
print "%s: %s" % (x.get_text(), i)
final.update({x.get_text():i})
Результат:
Period 1: 97.00000
Period 2: 84.93440
Period 3: 25.83333
Period 4: 86.38029
Period 5: 86.15000
Period 6: 86.87500
Period 7: 66.76380
Но в конце концов final
только имеет последний период {'Period 7': 66.76380}
Что я хочу:
{'Period 1': 97.00000, 'Period 2': 84.93440, 'Period 3': 25.83333, 'Period 4': 86.38029, 'Period 5': 86.15000, 'Period 6': 86.87500, 'Period 7': 66.76380}
Можете ли вы показать, как было бы написано «длинный» путь? (например: не используя генераторы или понимание списков). Люди, смотрящие на эти конструкции python, могут упустить из виду, что такое фактическая логика. – MxyL
@MxyL Я думаю, что кто-нибудь, знакомый с Python, поймет используемые конструкции ... –
Как я могу создать словарь с периодами/классами всех классов? –