字典dict批量更改键/更改指定某一个键 python | 您所在的位置:网站首页 › key的中文名字 › 字典dict批量更改键/更改指定某一个键 python |
(一) dict 更改指定某一个键
需求:替换rusult中的键 14 为 'E 即, 14 -> 'E' result = {1 : 'note', 214 : 'jack', 14 : 'jupyter', 56 : 'pycharm'} result['E'] = result.pop(14) result输出: {1: 'note', 214: 'jack', 56: 'pycharm', 'E': 'jupyter'} (二) dict 批量 更改 键需求:批量替换为map1中的键值对 错误示例: map1 = {1:'A', 2:'B', 3:'C', 4:'D', 5:'S', 14:'E', 53:'A+', 54:'B+', 55:'C+', 56:'D+', 57:'E+', 58:'-', 213:'Da', 214:'Db', 215:'Ea', 216:'Eb'} result = {1 : 'note', 214 : 'jack', 14 : 'jupyter', 56 : 'pycharm'} for k in result.keys(): # 错误示例 result[map1[k]] = result.pop(k) # KeyError: 'A', 表示找不到'A'.输出: 错因: for循环执行第一次时,可以顺利执行完毕,当执行第二次时,result.keys()动态的迭代,重新生成所有的键,会把新添加的’A’也作为键进行遍历, 当 k = 'A’时,map1[‘A’]是找不到的(map1中没有’A’这个键),所以报错. 正确示例: map1 = {1:'A', 2:'B', 3:'C', 4:'D', 5:'S', 14:'E', 53:'A+', 54:'B+', 55:'C+', 56:'D+', 57:'E+', 58:'-', 213:'Da', 214:'Db', 215:'Ea', 216:'Eb'} result = {1 : 'note', 214 : 'jack', 14 : 'jupyter', 56 : 'pycharm'} for k in list(result): # 争取示例,将其变为list result[map1[k]] = result.pop(k) result输出:{'A': 'note', 'Db': 'jack', 'E': 'jupyter', 'D+': 'pycharm'} |
CopyRight 2018-2019 实验室设备网 版权所有 |