字典dict批量更改键/更改指定某一个键 python 您所在的位置:网站首页 key的中文名字 字典dict批量更改键/更改指定某一个键 python

字典dict批量更改键/更改指定某一个键 python

2024-01-12 02:50| 来源: 网络整理| 查看: 265

(一) 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'.

输出: 在这里插入图片描述 知识点:

在python2中,字典dict.keys()的内建方法会以列表list的形式返回字典的所有键。 到了python3中,dict.keys()是以迭代器Iterator的形式生成的字典所有键。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 实验室设备网 版权所有