2015-04-15 1 views
1
a = OrderedDict([(14, (2361.42, 1339.25)), (15, (3581.08, 1427.08)), (16, (0, 4640.11)), (17, (0, 2667.36)), (18, (0, 1686.63))]) 

b = OrderedDict([(14, '03-31'), (15, '04-07'), (16, '04-14'), (17, '04-21'), (18, '04-28')]) 

Je veux remplacer la valeur b, à une valeur ainsi que b valeur J'ai essayéOrdonné python Dictionnaire remplacer la valeur clé

dict((b[key], value) for (key, value) in a.items()) 

l'out mis est

{'03-31': (2361.42, 1339.25), '04-07': (3581.08, 1427.08), '04-28': (0, 1686.63), '04-21': (0, 2667.36), '04-14': (0, 4640.11)} 

Je le veux comme

OrderedDict([('03-31', (2361.42, 1339.25)), ('04-07', (3581.08, 1427.08)), (04-14', (0, 4640.11)), ('04-21', (0, 2667.36)), ('04-28', (0, 1686.63))]) 

Répondre

3

Vous pouvez utiliser le constructeur OrderedDict à la place:

OrderedDict((b[key], value) for (key, value) in a.items())