Форум сайта python.su
Как можно соединить 2 словаря?
К примеру
a = {'a': '1', 'b': '2', 'c':'3'}
b = {'d': '4', 'e':'5'}
c = {'a': '1', 'b': '2', 'c':'3', 'd': '4', 'e':'5'}
Офлайн
Можно использовать метод “uрdate”, но надо иметь в виду, что если ключ есть в обеих словарях, то он будет заменён на новый.
Офлайн
или так, с тем же результатом, но наверно медленней.
def mer(dict1, dict2):
buf = dict2.copy()
for i,j in dict1.iteritems():
buf[i] = j
return buf
Офлайн
update, вероятно, эффективнее всего. Ещё можно так:
a = {'a': '1', 'b': '2', 'c':'3''}
b = {'d': '4', 'e':'5'}
c = dict(a.items() + b.items())
Офлайн
>> c = dict(a.items() + b.items())
Зато так всех короче!
Офлайн
Ок, спасибо. А можно ли как-то явно установить последовательность ключей?
Офлайн
Нет.
Офлайн
Ferroman
А можно ли как-то явно установить последовательность ключей?
FerromanХочу немножко дополнить ответ:
Нет.
Отредактировано (Дек. 9, 2009 17:28:36)
Офлайн