zoukankan      html  css  js  c++  java
  • Python学习之字典

    字典:Python中字典是一种key-value的数据类型,就像新华字典那样,可以根据笔划,字母来查找对应的内容。

    定义语法:

    dict = {
        'num1101':"Alice",
        'num1102':"Alen",
        'num1103':"Alex",
        'num1104':"BOb",
        'num1105':"Linda",
    }
    

    字典的特性:

    • 无序
    • key必须唯一,所以字典天生去重,不存在重复元素

    字典操作

    增加

    dict = {
        'num1101':"Alice",
        'num1102':"Alen",
        'num1103':"Alex",
        'num1104':"BOb",
        'num1105':"Linda",
    }
    print(dict)
    dict["num1106"] = "June这里是新元素"
    print(dict)
    

    在这里插入图片描述

    删除

    dict.pop("num1101")  #标准删除方法
    del dict["num1102"]  #删除指定元素
    dict.popitem()       #删除最后一个元素
    print(dict)
    

    在这里插入图片描述

    修改

    dict['num1101'] = "爱丽丝"
    

    查找

    dict = {
        'num1101':"Alice",
        'num1102':"Alen",
        'num1103':"Alex",
        'num1104':"BOb",
        'num1105':"Linda",
    }
    print("num1103" in dict)        #返回检索的元素是否存在,Trur,false
    print(dict.get("num1105"))      #返回对应的值
    print(dict["num1104"])          #如检索值不存在会报错
    print(dict["num1109"])
    
    #输出如下:
    True
    Traceback (most recent call last):
    Linda
      File "/home/cc/mycode/day3/dict.py", line 11, in <module>
    BOb
        print(dict["num1109"])
    KeyError: 'num1109'
    
    Process finished with exit code 1
    

    多级字典嵌套

    多级字典嵌套即在字典中定义字典;

    book = {
        "学习工具":{
            "1001":["百科全书"],
            "1002": ["英汉互译"],
            "1003": ["Python入门"],
        },
        "小说":{
            "1101":["解忧杂货店"],
            "1102": ["好吗好的"],
            "1103": ["百年孤独"],
        },
        "名著":{
            "1201":["西游记","红楼梦"],
        }
    }
    book["学习工具"]["1003"][0] += ",学习Python的好帮手"
    print(book["学习工具"]["1003"]) 
    

    在这里插入图片描述

    其他操作

    values

    dict = {
        'num1101':"Alice",
        'num1102':"Alen",
        'num1103':"Alex",
        'num1104':"BOb",
        'num1105':"Linda",
    }
    
    print(dict.values())
    输出:dict_values(['Alice', 'Alen', 'Alex', 'BOb', 'Linda'])
    

    keys

    dict = {
        'num1101':"Alice",
        'num1102':"Alen",
        'num1103':"Alex",
        'num1104':"BOb",
        'num1105':"Linda",
    }
    print(dict.keys())
    
    输出:dict_keys(['num1101', 'num1102', 'num1103', 'num1104', 'num1105'])
    
    

    setdefault

    dict = {
        'num1101':"Alice",
        'num1102':"Alen",
        'num1103':"Alex",
        'num1104':"BOb",
        'num1105':"Linda",
    }
    
    dict.setdefault("num1106","Jane")            #检索后不存在该元素,添加进字典
    dict.setdefault("num1101","爱丽丝")           #检索后存在该元素,字典内容不变
    print(dict)
    
    

    输出应为:{‘num1101’: ‘Alice’, ‘num1102’: ‘Alen’, ‘num1103’: ‘Alex’, ‘num1104’: ‘BOb’, ‘num1105’: ‘Linda’, ‘num1106’: ‘Jane’}

    update

    dict = {
        'num1101':"Alice",
        'num1102':"Alen",
        'num1103':"Alex",
        'num1104':"BOb",
        'num1105':"Linda",
    }
    
    name = {
        1:2,"num1105":"Linda",3:4
    }
    
    dict.update(name)
    print(dict)
    {'num1101': 'Alice', 'num1102': 'Alen', 'num1103': 'Alex', 'num1104': 'BOb', 'num1105': 'Linda', 1: 2, 3: 4}
    

    items

    循环

  • 相关阅读:
    Linux基础命令---nfsstat显示nfs信息
    Linux基础命令----smbclient
    Myeclipse10下载,安装,破解,插件,优化介绍
    MyEclipse常用插件使用教程
    MyEclipse10 中的两种FreeMarker插件的安装与配置
    导入项目名称重复
    append,appendTo和prepend #1daae2
    Java Session超时设置
    jquery刷新页面
    windows不能显示此连接属性。windows management instrumentation (WMI) 信息可能损坏
  • 原文地址:https://www.cnblogs.com/candlia/p/11919619.html
Copyright © 2011-2022 走看看