zoukankan      html  css  js  c++  java
  • 字符串 列表 元组 字典 集合3.12字典常见操作

    一、查(普通方式)

    若访问不存在的键,则会报错

    teacher_wang = {
        "name": "王老师",
        "age": 18,
        "home": "山东省青岛市",
        "web_site": "www.codetutor.top"
    }
    
    print(teacher_wang["QQ"])  # teacher_wang这个字典中没有QQ这个key
    

      

    运行结果:程序崩溃

    Traceback (most recent call last):
      File "/Users/codetutor.top/Desktop/代码/Python/07-字典.py", line 8, in <module>
        print(teacher_wang["QQ"])
    KeyError: 'QQ'
    

      

    二、查(get方式)

    在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值:

    teacher_wang = {
        "name": "王老师",
        "age": 18,
        "home": "山东省青岛市",
        "web_site": "www.codetutor.top"
    }
    
    # 会出错,因为没有QQ这个key
    # print(teacher_wang["QQ"])
    print(teacher_wang.get("QQ", "没有QQ这个key"))
    

      

    运行结果:没有就用默认值,程序不会崩溃

    没有QQ这个key
    

      

    三、改

    字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

    info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    
    new_id = input('请输入新的学号:')
    info['id'] = int(new_id)
    
    print('修改之后的id为: %d' % info['id'])
    

      

    结果:

    请输入新的学号:1010
    修改之后的id为: 1010
    

      

    四、增

    新的key以及value就表示添加一个新的键值对

    即:如果在使用 变量名['键'] = 数据 时,这个“键”在字典中不存在,那么就会新增这个元素。

    info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    
    print(info)
    info['web_site'] = "www.codetutor.top"  # 添加一个新的键值对
    print(info)
    

      

    结果:

    {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京', 'web_site': 'www.codetutor.top'}
    

      

    五、删

    对字典进行删除操作,有一下几种:

    • del
    • clear()

    1. del删除指定的元素

    info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    
    print(info)
    
    del info['address']
    
    print(info)
    

      

    结果

    {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    {'name': '班长', 'id': 100, 'sex': 'f'}
    

      

    2. del删除整个字典

    info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    
    print(info)
    
    del info
    
    print(info)
    

      

    结果

    {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    Traceback (most recent call last):
      File "/Users/codetutor.top/Desktop/代码/Python/08-字典常见操作.py", line 7, in <module>
        print(info)
    NameError: name 'info' is not defined
    

      

    3. clear清空整个字典

    info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    
    print(info)
    
    info.clear()
    
    print(info)
    

      

    结果

    {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
    {}
    

      

  • 相关阅读:
    keras----resnet-vgg-xception-inception
    ubuntu16.04----jdk---install----config
    ubuntu16.04--在标题栏显示网速
    caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--03--20171103
    matlab2016b-linux版本在ubutu16.04x64上面不能打开摄像头的处理方法
    eclipse adt开发android ndk没有NDK选项问题的解决方案
    Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: Connect
    eclipse--windowBuilder
    qt-mingw530-opencv-开发配置
    蔽月山房---作者,王阳明
  • 原文地址:https://www.cnblogs.com/dong4716138/p/15686755.html
Copyright © 2011-2022 走看看