Как поместить значения данного списка в существующий словарь? - PullRequest
1 голос
/ 29 февраля 2020

У меня есть список с его элементами

my_list = ['a', 'b', 'c']

и словарь, который имеет свои ключи и пустые строки в качестве значений

my_dictionary = {
    'key_a' : '',
    'key_b' : '',
    'key_c' : '',
}

Вопрос в том, как Pythoni c может поместить каждый из элементов этого списка (в этом конкретном порядке) в качестве каждого из этих значений словаря?

Результат должен быть таким:

my_dictionary = {
    'key_a' : 'a',
    'key_b' : 'b',
    'key_c' : 'c',
}

PS: обратите внимание, что мне не нужно, чтобы значения словаря были в порядке после этой копии. Как хорошо указано в комментариях, после Python 3.7 порядок словаря больше не гарантируется

Ответы [ 4 ]

3 голосов
/ 29 февраля 2020

Вы можете попробовать это.

dict(zip(my_dictionary,my_list))

Используйте метод .update для обновления my_dictionary.


Выход

{'key_a': 'a', 'key_b': 'b', 'key_c': 'c'}

Примечание: Это работает для python3 .7 или выше.

Причина указана в комментариях @MisterMiyagi.

1 голос
/ 29 февраля 2020

Я предполагаю, что ваш словарный порядок гарантирован или вам не нужен порядок.
Вы можете использовать встроенную функцию zip.
Это очень полезная функция для итерации двух разных итераций .
документация: https://docs.python.org/3/library/functions.html#zip

my_dictionary = {
    'key_a': '',
    'key_b': '',
    'key_c': '',
}

my_list = ['a', 'b', 'c']

for key, item in zip(my_dictionary, my_list):
    my_dictionary[key] = item

print(my_dictionary)

выход: {'key_a': 'a', 'key_b': 'b', 'key_c': 'c'}

0 голосов
/ 29 февраля 2020

Вы можете попробовать это:

my_list = ['a', 'b', 'c']

my_dict = {
    'key_a' : '',
    'key_b' : '',
    'key_c' : '',
}

for index, key in enumerate(my_dict):
    my_dict[key] = my_list[index]

print(my_dict)
0 голосов
/ 29 февраля 2020

Попробуйте это:

i = 0
for key in my_dict:
      my_dict[key] = my_list[i]
      i+=1

Вывод: {'key_a': 'a', 'key_b': 'b', 'key_ c': 'c'}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...