当前位置 博文首页 > zy010101博客:Python——字典

    zy010101博客:Python——字典

    作者:[db:作者] 时间:2021-06-11 21:12

    字典是一种常见的数据结构,通常在别的语言里,可能会称呼它为哈希表,HashMap。无论怎么样,字典其实就是键值对。是以key-value的形式存在的。

    在 Python 中,字典是一系列键值对。每个键都与一个值相关联,你可使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。

    任何不可变对象都可以用作字典的键。

    在python中,字典被花括号标识。放在花括号里的键值对就是字典。下面是一个字典的例子。

    color_hash = {"绿色": "green", "红色": "red", "蓝色": "blue"}        # 创建字典方式1
    print(color_hash)
    num_hash = dict(one=1, two=2, three=3)                          # 创建字典方式2
    print(num_hash)

    程序执行结果如下所示:

    python中的zip函数可以将序列的内容进行组合,成为字典。例如:?

    char_list = ("one", "two", "three")
    num_list = (1, 2, 3)
    my_dict = dict(zip(char_list, num_list))
    print(my_dict)
    str1 = "qwert"
    num = "12345"
    my_dict = dict(zip(str1, num))
    print(my_dict)

    注意zip的两个参数必须是可迭代对象?。程序执行结果如下所示:

    下面是对字典常见的操作方式。

    color_hash = {"绿色":"green","红色":"red","蓝色":"blue"}
    print(color_hash)
    
    print(color_hash["绿色"])   # 根据键,来访问值。
    
    color_hash["黄色"] = "yellow"     # 增加一个新的键值对
    print(color_hash)
    
    color_hash["绿色"] = "Green"    # 修改键值对中的值,不存在修改键的方法,只能是新建键值对。
    print(color_hash["绿色"])

    ?程序执行结果如下所示:

    字典除了上面的应用场景,还可以用来保存一些身份信息之类的东西,例如一个人的年龄,性别,身高等等信息,就可以放在一个字典中保存。定义一个空字典的场景也很常见,下面展示了如何定义一个空字典。

    book_dict = {}
    print(book_dict)

    程序执行结果如下:

    删除字典中的键值对,可以使用del语句来删除。例如下面的代码段:

    del color_hash["红色"]
    print(color_hash)

    程序执行结果如下所示:

    值得一提的还有,Python的字典,提供了get方式,来避免你获取不存在的键所对应的值。例如下面的例子。

    black = color_hash.get("黑色")  # 没有黑色这个键,但是不会报错。而是返回None
    print(black)
    # 如果找不到特殊颜色这个键,那么将会返回第二个参数所指定的值。
    special_color = color_hash.get("特殊颜色", "很抱歉,没有特殊颜色")
    print(special_color)
    yellow = color_hash.get("黄色", "黄色")     # 字典中存在这个键,那么将会返回字典中的值
    print(yellow)

    程序执行结果如下所示:

    遍历字典,由于字典可能存放非常多的数据,因此遍历字典的操作也是常见的。遍历字典可以选择只遍历键或值,也可以键值对一起遍历。

    personal_info = {
        "姓名": "尼古拉斯·浩浩",
        "性别": "男",
        "年龄": 24,
        "居住城市": "阿拉德大陆",
        }
    for info in personal_info:      # 如果什么都不指定,默认遍历key
        print(info)
    print("\n")
    for key in personal_info.keys():        # 只遍历key
        print(key)
    print("\n")
    for value in personal_info.values():    # 只遍历value
        print(value)
    print("\n")
    for key, value in personal_info.items():    # 遍历key-value
        print(F"{key}:{value}")
    

    程序执行结果如下所示:

    从 Python 3.7 起,遍历字典时将按插入的顺序返回其中的元素。

    在列表中嵌套字典或者是在字典中存储列表,以及字典中存储字典都是常用的数据格式。这在做Web开发的时候非常常见,尤其是当前后端之间采用Json来通信的时候,这在格式就非常常见。后端可以返回给前段Json数据格式,或者是JavaScript的数组形式。下面写几个典型的例子。

    # 这是一个经典的返回给前段的Json格式的数据,在Python中可以很容易的用字典实现。
    my_json = {"用户名":"尼古拉斯·赵四","ID":"xsq123657212","等级":"67","粉丝数":240,"点赞数":2000}
    you_json = {"用户名":"尼古拉斯·赵四","ID":"xsq123657212","等级":"67","粉丝数":240,"点赞数":2000}
    # JavaScript数组
    my_array = [my_json,you_json]

    ?

    下一篇:没有了