Написание обработчика списков
У меня есть список 1, в котором находятся названия групп и список 2, в котором расположены пары для этих групп. Сложность заключается в том, что одна пара находится в одном элементе списка. И нет четкого разграничителя –- где заканчиваются пары для первой группы, а где начинаются для второй (всего в списке 4 группы).
Имеется такой код, но он ничего не выводит. Думаю проблема в значении split()
lessons = ['ГП-1-22', 'ГП-2-22', 'АСУ-22', 'ГР-1-22']
schedule = ['I Химия (№26) Гончарова Н.А.', 'II Инфор-ка (№58) Уланова Е.В.', 'III Инфор-ка (№58) Уланова Е.В.', 'IV История (№22) Сафиюллина Г.М.', 'V Биол.и эк. (№51) Файзуллина Г.Г.', 'I Астрономия (№29) Каргина О.А.', 'II Литература (№24) Мадиева Т.А.', 'III Биол.и эк. (нет) Асылгареева А.И.', 'IV История (№23) Гарифуллина А.Н.', 'I Матем (№27) Ризванова Г.Г.', 'II Физкультур (Больш. спортзал)', 'III Матем (№27) Ризванова Г.Г.', 'IV Литература (№24) Мадиева Т.А.', 'I Физкультур (Больш. спортзал)', 'II Химия (№26) Гончарова Н.А.', 'III Литература (№16) Яковлева А.А.', 'IV Биол.и эк. (№51) Файзуллина Г.Г.']
schedule_by_group = {}
for group in lessons:
schedule_by_group[group] = []
for lesson in schedule:
for group in lessons:
if lesson.startswith(group.split('-')[0]):
schedule_by_group[group].append(lesson)
group = input("Введите название группы: ")
if group in schedule_by_group:
print(f"Расписание уроков для группы {group}:")
for lesson in schedule_by_group[group]:
print(lesson)
else:
print("Такой группы нет в списке.")
Источник: Stack Overflow на русском