Возможно ли сделать, чтобы цикл for перебирал одновременно словарь и список?

all_schedule = [data_1(), data_2(), data_3(), data_4(), data_5()]
    for chanes, shedule in check.values(), all_schedule:
            if list(schedule) != changes:
                print('Расписание изменилось')

функция data_1() (они все с 1-5 практически одинаковые).Это просто парсер.

def data_1() -> tuple:
    response = requests.get(url[3], headers=headers)
    soup = BeautifulSoup(response.content, 'html.parser').find('div', id='1778922595')
    tags_1 = soup.find_all('td', class_='s8')
    day = BeautifulSoup(response.content, 'html.parser').find_all('td', class_='s1')[0].get_text(strip=True)
    first_lesson = tags_1[22].get_text(strip=True)
    second_lesson = tags_1[24].get_text(strip=True)
    third_lesson = tags_1[26].get_text(strip=True)
    fourth_lesson = tags_1[28].get_text(strip=True)
    fifth_lesson = tags_1[30].get_text(strip=True)
    sixth_lesson = tags_1[32].get_text(strip=True)
    return first_lesson, second_lesson, third_lesson, fourth_lesson,\
        fifth_lesson, sixth_lesson, day

lessons.json

{
    "Понельник": [
        "Архітектура комп'ютерів",
        "Фізичне виховання",
        "Іноземна мова (за проф.спрям.) (англ.)",
        "",
        "",
        "",
        "на  09 травня  2022 р."
    ]
}

Когда запускаю код, выдает ошибку:

Traceback (most recent call last):
  File "C:\steps\test\alert\alert.py", line 112, in <module>
    for changes, schedule in check.values(), all_schedule:
ValueError: too many values to unpack (expected 2)

Альтернатива:

with open('lessons.json', 'r+', encoding='utf-8') as file:
    check = json.load(file)
all_schedule = [[data_1()], [data_2()], [data_3()], [data_4()], [data_5()]]
i = 0
for changes in check.values():
    all_schedule[i].append(tuple(changes))
    i += 1
for schedule in all_schedule:
    if sorted(schedule[0]) != sorted(schedule[1]):
        print('Расписание изменилось')
    else:
        print('everything is okey')

Она мне не нравится(из-за того, что она больше занимает кода). Мне нужно, чтобы цикл сравнивал списки, и мне не нужно было создавать еще один цикл.


Ответы (0 шт):