.items() в цикле for:
  
    
      my_dict = {'a': 1, 'b': 2, 'c': 3}
      for key, value in my_dict.items():
        print(f"Ключ: {key}, Значение: {value}")
    
  
Для одновременного получения элементов (значений) и ключей словаря в Python, используется метод .items(). Этот метод возвращает итерируемый объект, состоящий из кортежей, где каждый кортеж содержит пару "ключ-значение".
Пример использования:
   my_dict = {'a': 1, 'b': 2, 'c': 3}
   for key, value in my_dict.items():
       print(f"Ключ: {key}, Значение: {value}")
  Пояснение:
my_dict.items() возвращает объект, который можно итерировать (например, с помощью цикла for).key и value получают значения, соответствующие ключу и значению текущего элемента словаря.for key, value in ... называется "распаковкой кортежа".  Она позволяет удобно присвоить элементы кортежа переменным.Альтернативные способы (менее предпочтительные):
dict.keys() и dict.values() раздельно: Это менее эффективно, т.к. требует двух отдельных проходов по словарю.
    
     my_dict = {'a': 1, 'b': 2, 'c': 3}
     keys = my_dict.keys()
     values = my_dict.values()
     for i, key in enumerate(keys):
         value = list(values)[i]  # Важно: преобразуем в список для доступа по индексу
         print(f"Ключ: {key}, Значение: {value}")
    Недостаток: Требует преобразования dict.values() в список для доступа по индексу, что не всегда оптимально по производительности. Порядок ключей и значений, возвращаемых dict.keys() и dict.values(), гарантированно соответствует только в Python 3.7+ (для словарей с сохранением порядка вставки). В более ранних версиях порядок может быть разным, что приведет к неправильному сопоставлению ключей и значений.
dict.keys() с доступом по ключу:  Этот способ также менее эффективен, особенно для больших словарей.
    
     my_dict = {'a': 1, 'b': 2, 'c': 3}
     for key in my_dict.keys():
         value = my_dict[key]
         print(f"Ключ: {key}, Значение: {value}")
    Недостаток: Для каждого ключа происходит поиск значения в словаре, что может быть медленным для больших словарей.
Итог: Наиболее эффективным, читаемым и рекомендуемым способом получения элементов и ключей словаря одновременно является использование метода .items() в цикле for.