<p>如果您可以将原始词典更改为OrderedDicts,则类似的操作将起作用:</p>
<pre><code>from collections import OrderedDict
def clense_data(data):
name_cleanse_dict = {
'id': 'ID',
'emailid': 'emailId',
'firstname': 'firstName',
'middlename': 'middleName',
'lastname': 'lastName',
'addressline1': 'addressLine1',
'addressline2': 'addressLine2',
'addressline3': 'addressLine3',
'postalcode': 'postalCode',
}
if isinstance(data, dict):
return OrderedDict([(name_cleanse_dict[k], v) if k in name_cleanse_dict else (k, v) for k, v in data.items()])
return data
def main():
person_data = OrderedDict([('id', 5),
('firstname', 'Bob'),
('lastname', 'Woolmer'),
('gender', 'Male'),
('country', 'USA'),
('emailid', 'abs@gmail.com')])
print(person_data)
new_person_data = clense_data(person_data)
print(new_person_data)
if __name__ == '__main__':
main()
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>OrderedDict([('id', 5), ('firstname', 'Bob'), ('lastname', 'Woolmer'), ('gender', 'Male'), ('country', 'USA'), ('emailid', 'abs@gmail.com')])
OrderedDict([('ID', 5), ('firstName', 'Bob'), ('lastName', 'Woolmer'), ('gender', 'Male'), ('country', 'USA'), ('emailId', 'abs@gmail.com')])
</code></pre>