python 基础 - 字典

作者: _07 | 来源:发表于2018-05-07 15:17 被阅读9次

    Python 字典

    字典是另一种可变容器模型,且可存储任意类型对象。
    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    d = {key1 : value1, key2 : value2 }
    

    键必须是唯一的,但值则不必。
    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
    一个简单的字典实例:

    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    

    访问字典里的值

    把相应的键放入到方括号中,如下实例:

    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    print("dict['name']:",dict["name"])
    print("dict['age']:",dict["age"])
    

    以上实例输出结果:

    dict['name']: 马大哈
    dict['age']: 20
    

    如果用字典里没有的键访问数据,会输出错误如下:

    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    print("dict['name']:",dict["test"])
    

    以上实例输出结果:

    Traceback (most recent call last):
      File "JianShu.py", line 2, in <module>
        print("dict['name']:",dict["test"])
    KeyError: 'test'
    

    修改字典

    向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    
    dict["name"] = "张三";#更新name
    dict["age"] = 18;#更新age
    
    print("dict['name']:",dict["name"])
    print("dict['age']:",dict["age"]) 
    

    以上实例输出结果:

    dict['name']: 张三
    dict['age']: 18
    

    删除字典

    1. 删除键实例:
    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    
    del dict["name"]#删除键 "name"
    print(dict)
    

    以上实例输出结果:

    {'age': 20, 'gender': 'male', 'job': '学生'}
    
    1. 清空字典实例:
    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    dict.clear()
    print(dict)
    

    以上实例输出结果:

    {}
    
    1. 删除字典实例:
    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    del dict
    

    字典内置函数&方法

    Python字典包含了以下内置函数:

    序号 函数及描述
    1 len(dict) 计算字典元素个数,即键的总数。
    2 str(dict) 输出字典,以可打印的字符串表示。
    3 type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

    实例

    字典.keys() 来获取字典中的所有的键:

    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    for key in dict.keys():
        print(key)
    

    以上实例输出结果:

    name
    age
    gender
    job
    


    字典.values()来获取字典中所有的值:
    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    for value in dict.values():
        print(value)
    

    以上实例输出结果:

    马大哈
    20
    male
    学生
    


    字典.items()来获取 字典中的每个键值对,以元组返回:
    dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
    for item in dict.items():
        print(item)
    

    以上实例输出结果:

    ('name', '马大哈')
    ('age', 20)
    ('gender', 'male')
    ('job', '学生')
    


    字典是支持无限极嵌套的,如下面代码:
    cities={
        '北京':{
            '朝阳':['国贸','CBD','天阶','我爱我家','链接地产'],
            '海淀':['圆明园','苏州街','中关村','北京大学'],
            '昌平':['沙河','南口','小汤山',],
            '怀柔':['桃花','梅花','大山'],
            '密云':['密云A','密云B','密云C']
        },
        '河北':{
            '石家庄':['石家庄A','石家庄B','石家庄C','石家庄D','石家庄E'],
            '张家口':['张家口A','张家口B','张家口C'],
            '承德':['承德A','承德B','承德C','承德D']
        }
    }
    

    可以使用如下方法进行列出

    for i in cities['北京']:
        print(i)
    

    将列出如下结果:

    朝阳
    海淀
    昌平
    怀柔
    密云
    
    for i in cities['北京']['海淀']:
        print(i)
    

    输出如下结果:

    圆明园
    苏州街
    中关村
    北京大学
    

    人生苦短,我用Python

    Python 目录

    对网络安全感兴趣的朋友可以关注我的连载 :

    从0到1学习网络安全 【目录】

    相关文章

      网友评论

        本文标题:python 基础 - 字典

        本文链接:https://www.haomeiwen.com/subject/ubljrftx.html