Обновите значение словаря python с новым списком, используя цикл

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

существующий словарь

zone = {
'a':11,
'b':22,
'c':12
}

Новый список

list_ = (10, 44, 55)

Мне нужно обновить этот словарь, используя этот список

Мне нужен такой словарь:

zone = {
'a':10,
'b':44,
'c':55
}

Вы пользуетесь упорядоченным словарем? (Python 3.7 или специальный тип)

Klaus D. 25.04.2019 14:19

Я использую неупорядоченный словарь в python 3.4.

Zahid Uan Nabi 25.04.2019 14:20

@ZahidUanNabi Как узнать, какое значение в кортеже соответствует какому ключу в словаре?

glibdud 25.04.2019 14:21

Тогда как вы планируете сопоставлять значения из списка с ключами словаря?

Klaus D. 25.04.2019 14:21

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

Zahid Uan Nabi 25.04.2019 14:35

@ZahidUanNabi Если вы используете неупорядоченные словари, не существует такого понятия, как «первое значение ключа». Вернее, первое значение ключа (возвращаемое, например, zone.keys()) будет фактически случайным. Обойти это невозможно, если только вы не сможете реорганизовать код, чтобы определить zone как OrderedDict или что-то подобное. Если вы хотите назначить клавиши в алфавитном (или каком-либо другом) порядке, это выполнимо, но мы не знаем, пытаетесь ли вы это сделать, если вы не скажете об этом.

glibdud 25.04.2019 15:13
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
6
697
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В принципе, словарь не имеет порядка. Итак, Вы не можете установить последовательно без стандарта заказа. Но вы делаете это, если хотите установить порядок ключей словаря. Пожалуйста, обратитесь, как показано ниже:

zone = {'b':22, 'a':11, 'c':12}
data = (10, 44, 55)

z_ordered = list(zone.keys())
z_ordered.sort()

for index in range(len(z_ordered)):
    zone[z_ordered[index]] = data[index]

Вы можете получить ключи из зоны и zip ее со списком и преобразовать результат в dict

zone = {'a':11, 'b':22, 'c':12 }
list_ = [10, 44, 55]

zone = dict(zip((*zone,), list_))

#{'a': 10, 'b': 44, 'c': 55}

Другие вопросы по теме