Я создавал приложение для управления пользователями на Python. Мне нужен был способ хранения пользовательской информации, содержащей данные пользователя, и для этого я использовал словарь. Я использовал метод цикла for для доступа к пользователю с его информацией в виде нескольких значений.

В Python перебор словаря с несколькими значениями означает, что словарь содержит ключ с несколькими значениями. Вам нужно перебрать словарь и получить доступ к ключу с несколькими значениями.

Позвольте мне показать вам, как выглядит словарь с несколькими значениями.

student_marks = {
    "Sam": [90, 85, 75],
    "Quill": [80, 95, 88],
    "Kat": [70, 82, 92]
}

Посмотрите на приведенный выше код. Словарь Student_marks содержит имя ученика и список его оценок по различным предметам.

Итак, используя словарь аналогичного типа, вы научитесь перебирать его и получать доступ к нескольким значениям, используя разные методы.

Содержание

С использованием цикла For

Вы можете использовать цикл for для перебора словаря с несколькими значениями и выполнения над ним какой-либо операции.

Давайте посмотрим, как это сделать, на примере. Предположим, у вас есть словарь с именем «employee_skills», который содержит имя сотрудника в качестве ключа и список его навыков в виде списка значений, как показано в коде ниже.

employee_skills = {
 'James': ['Python', 'JavaScript'],
 'Jimmy': ['Java', 'C++', 'C#']
}

Как показано в коде ниже, вы можете использовать цикл for для перебора сотрудников_skills и доступа к имени сотрудника с несколькими значениями.

for employee_name, skills in employee_skills.items():
 print(f"{employee_name}: {', '.join(skills)}")

С использованием цикла For

Посмотрите на результат. Цикл for обращается к каждому сотруднику и его навыкам (которые имеют несколько значений).

Давайте разберемся с частью кода. Во-первых, словарь с именем «employee_skills» содержит имя сотрудника в качестве ключа и его навыки в виде нескольких значений для этого конкретного ключа.

После этого выполните итерацию по словарю, используя цикл «для employee_name, навыки в employee_skills.items():», где функция items() вызывается в словаре, чтобы вернуть пару ключ-значение в виде кортежа.

Затем используйте форматирование строки «f», чтобы напечатать имя сотрудника, и функцию join(), чтобы привязать навыки пользователя к его имени.

В результате вы можете увидеть перебор словаря с несколькими значениями, а затем распечатать каждого сотрудника с его многочисленными навыками, например «Джеймс: Python, JavaScript, Джимми: Java, C++, C#».

С индексом

Вы также можете перебирать словарь с несколькими значениями на основе значения индекса. Опять же, вам нужно будет использовать цикл for, но для доступа к элементам словаря с помощью индекса вы будете использовать функцию enumerate().

Но, возможно, вы не знаете о функции enumerate(), в противном случае функция enumerate() принимает итерируемый объект, например список, добавляет к нему счетчик и возвращает объект перечисления. Вы можете использовать этот перечисляемый объект в цикле for, например список, словарь и т. д., для перебора по нему.

Ниже приведен синтаксис использования функции enumerate().

enumerate(iterable, start=0)

Где:

  • iterable: в Python итерируемые объекты похожи на кортежи, списки, строки или словари.
  • start: используется для указания индекса счетчика внутри объекта перечисления.

Например, повторно возьмите словарь employee_skills и используйте цикл for для перебора и доступа к ключу с несколькими значениями с индексом.

employee_skills = {
 'James': ['Python', 'JavaScript'],
 'Jimmy': ['Java', 'C++', 'C#']
}
for index,(key, value) in enumerate(employee_skills.items()):
 print(f"Index: {index}, Key: {key}, Value: {value}")

Перебрать словарь Python с индексом

Посмотрите на выходные данные с именем и навыками сотрудника. Индекс также включается как 0 для первой пары «ключ-значение» и 1 для второй пары «ключ-значение» в списке.

Давайте разберемся с частью кода или индексом (ключ, значение) в enumerate (employee_skills.items()): здесь employee_skills.items заключены в функцию enumerate() для добавления индекса.

employee_skill.items() возвращает пару ключей словаря, которая затем передается в функцию enumerate() с помощью enumerate (employee_skills.items()).

Объект перечисления содержит три вещи: счетчик, который считается индексом, ключ и значение.

Наконец, распечатка доступного индекса, ключа и значения с помощью print(f”Index: {index}, Key: {key}, Value: {value}”). В результате Индекс: 0, Ключ: Джеймс, Значение: [‘Python’, ‘JavaScript’] Индекс: 1, Ключ: Джимми, Значение: [‘Java’, ‘C++’, ‘C#’].

С использованием понимания словаря

Понимание словаря аналогично пониманию списка, позволяя динамически генерировать словарь с помощью цикла с фигурными скобками {}.

Например, предположим, что у вас есть словарь с именем «car_details», где ключи — это модели карт, а значения — это сведения об автомобиле, такие как цвет, тип двигателя и год, как показано ниже.

car_details = {
    "Honda Civic": {
        "year": 2023,
        "color": "red",
        "engine": "1.5L Turbo"
    },
    "Toyota Corolla": {
        "year": 2022,
        "color": "blue",
        "engine": "1.8L Hybrid"
    },
    "Tesla Model 3": {
        "year": 2021,
        "color": "black",
        "engine": "Electric"
    }
}

Теперь, чтобы перебрать словарь car_details, содержащий ключ с несколькими значениями, вы можете использовать понимание словаря, как показано в коде ниже.

{print(f"The currency of {key} is {', '.join(values)}.") for key, values in car_details.items()}

Словарь Python с несколькими значениями с использованием понимания словаря

Посмотрите на выходные данные, перебирая словарь car_details, содержащий ключи с несколькими значениями, используя понимание словаря.

В результате «валюта Honda Civic — это год, цвет, двигатель». Валюта Toyota Corolla — год, цвет, двигатель. Валюта Tesla Model 3 — год, цвет, двигатель».

Добавить комментарий