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

Позвольте мне привести пример, чтобы вам было понятнее, в каких ситуациях можно использовать эти сценарии.

Предположим, у меня есть два разных списка, содержащих такие данные:

keys_list = ['Name', 'Age', 'Gender', 'Country']
values_list = ['Scarlett', 28, 'Female', 'United States']

Я хочу преобразовать эти данные в словарь и мне нужен такой тип вывода:

Dictionary: {'Name': 'Scarlett', 'Age': 28, 'Gender': 'Female', 'Country': 'United States'}
Содержание

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

Давайте рассмотрим, как с помощью цикла while в Python можно преобразовать два списка в словарь, используя пары «ключ — значение».

keys_list = ['Name', 'Age', 'Gender', 'Country']
values_list = ['James', 32, 'Male', 'United States']

emp_data = {}

i = 0 

while i<len(keys_list):
    emp_data[keys_list[i]] = values_list[i]
    i += 1

print(emp_data)

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

В представленном коде есть два списка: key_list и value_list, которые мы хотим преобразовать в ключи и значения словаря.

Для этого мы используем цикл while. Цикл начинается с индекса 0 и продолжается до тех пор, пока не будет достигнут конец списка key_list. Это можно выразить следующим образом: while i < len(key_list).

Затем мы добавляем элементы списка в словарь, используя следующий синтаксис: emp_data[keys_list[i]] = values_list[i].

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

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

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

Давайте разберемся в этом на практическом примере:

columns = ['Name', 'Age', 'Gender', 'Country']
emp_data1 = ['James', 32, 'Male', 'United States']

info_dict = {}

for i in range(len(columns)):
    info_dict[columns[i]] = emp_data1[i]
    
print('Keys List:', columns)
print('Values List:', emp_data1)

print('Dictionary:', info_dict)

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

В представленном коде у нас есть два списка: columns и emp_data. Наша задача — преобразовать их в словарь, где элементы из списка columns станут ключами, а значения из списка emp_data — значениями.

Для этого мы используем цикл for и инициализируем переменную i в функции range(). Изначально i будет равно 0, так как в начале цикла нет значения, и поэтому по умолчанию i примет значение 0.

Затем мы применяем ту же логику, которую использовали в предыдущем примере, чтобы объединить два списка в пары ключ-значение в словаре на языке Python.

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

Также в Python можно использовать понимание словаря для преобразования двух списков в словарь. Понимание словаря позволяет создать словарь всего в одной строке кода, используя цикл for.

Такой способ создания словаря работает быстрее, чем обычный цикл for.

Давайте посмотрим, как можно преобразовать два списка в словарь.

keys_list = ['Name', 'Age', 'Gender', 'Country']
values_list = ['Scarlett', 28, 'Female', 'United States']

info_dict = {keys_list[i]: values_list[i] for i in range(len(keys_list))}

print('Keys List:', keys_list)
print('Values List:', values_list)

print('Dictionary:', info_dict)

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

В этом коде мы используем понимание словаря, чтобы преобразовать список в словарь. Это делается так: {keys_list[i]: values_list[i] for i in range(len(keys_list))}.

Сначала будет выполнен цикл for i in range(len(keys_list)). Он инициализирует i равным 0 и будет продолжаться до тех пор, пока i меньше или равно длине списка keys_list.

Затем {keys_list[i]: values_list[i]} — эта строка добавит элементы в словарь.

Заключение

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

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