とても簡単だと思います。私がやろうとしているのは、元の辞書'code'
を、値を持つ別の辞書の辞書で更新することだけです。ループの感覚が2になり、IFループをさらに短縮して答えを得ることができます。私の実際の問題では、更新しなければならない数千のdictがあります。みんなありがとう!
Python:
referencedict = {'A': 'abc', 'B': 'xyz'}
mylistofdict = [{'name': 'John', 'code': 'A', 'age': 28}, {'name': 'Mary', 'code': 'B', 'age': 32}, {'name': 'Joe', 'code': 'A', 'age': 43}]
for eachdict in mylistofdict:
for key, value in eachdict.items():
if key == 'code':
eachdict[key] = referencedict[value]
print mylistofdict
出力:
[{'age': 28, 'code': 'abc', 'name': 'John'}, {'age': 32, 'code': 'xyz', 'name': 'Mary'}, {'age': 43, 'code': 'abc', 'name': 'Joe'}]