python 字典

255 阅读3分钟

python 字典

一、什么是字典

字典,在python中就相当于一个容器,里面存储的是一个个的"键值对"。字典类似于Java的容器map,都存储的是键值对。

1、创建一个字典
    创建字典使用大括号{}。
    person = {"name":"tom","age":"18"}
    使用冒号(:)将键值对的键和值区分开来,前面的name、age是键,后面的tom、18是值。当有多个键值对的时候,使用逗号(,)将不同的键值对分割开来。
2、字典、列表、元组的比较
     下面将字典、列表、元组做一些比较和区分,因为三个有点相似之处,作比较以便于区分他们三个,不至于混淆。

                           列表         元组        字典
    创建使用的符号         []          ()          {}

二,对字典进行操作

1、访问字典中的值
    person = {"name":"tom","age":"18"}
    print(person['name'])
    输出的结果是tom
2、向字典中添加值
    person = {"name":"tom","age":"18"}
    print(person)
    person["height"] = 170
    print(person)
    输出的结果是
    {"name":"tom","age":"18"}
    {"name":"tom","age":"18","height":"170"} 
    我们也可以先创建一个空的字典,然后向里面一个个的添加值
    person = {}
    person["name"] = "tom"
    person["age"] = 18
    print(person)
    输出的结果是{"name":"tom","age":"18"}
3、修改字典中的值
    person = {"name":"tom","age":"18"}
    print(person)
    person["name"] = "jerry"
    print(person)
    输出的结果是{"name":"tom","age":"18"}
                {"name":"jerry","age":"18"}
4、删除字典中的键值对
    person = {"name":"tom","age":"18"}
    print(person)
    del person["name"]
    print(person)
    输出的结果是{"name":"tom","age":"18"}
                {"age":"18"}

三、字典的遍历

1、遍历字典中的所有键值对
    person = {"name":"tom","age":"18"}
    for key,value in person.items() :
        print(key)
        print(value \n) 
    输出的结果是
        name
        tom
        age
        18
2、遍历字典中所有的键
    person = {"name":"tom","age":"18"}
    for key in person.keys() :
        print(key \n)
    输出的结果是
        name
        age
3、遍历字典中所有的值
    person = {"name":"tom","age":"18"}
    for value in person.values() :
        print(value \n)
    输出的结果是
        tom
        18
4、按顺序遍历字典中的键
    person = {"name":"tom","age":"18"}
    for key in sorted(person.keys()) :
        print(key \n)
    输出的结果是
        age
        name
    这样遍历,就是在遍历之前,先对字典按照键的顺序排序,然后再进行遍历,也可以这样遍历字典中的值

四、嵌套

有时候,我们需要将一系列的字典存储在列表当中,或者将列表当作值存储在字典当中,这称为嵌套。
1、字典列表
    person1 = {"name":"tom","age":"18"}
    person2 = {"name":"jerry","age":"23"} 
    person3 = {"name":"lily","age":"16"}
    aliens = [person1,person2,person3]
2、在字典中存储列表
    person = {
        "name": "tom",
        "language":["english","chinese"]
    }
    这样做,可以让一个键对应多个值,用途会更加广泛。
3、在字典中存储字典
    class = {
        "student1":{
            "name":"tom"
            "age":"18"
        },
        "student1":{
            "name":"tom"
            "age":"18"
        }
    }

下面附上我试验时候的一些截图,希望会对你有所帮助。

第二张图片上面有一个错误,那是因为for循环中的输出语句没有锁紧导致的,为自己跳过的坑做个标记,希望以后能够不犯这样的低级错误。
第三张和第四张的图片中的错误是同一个,这是因为不能对value中的值进行排序,value中有数字,也有字符串,没有一个标准,所以会出错,我想对于这个问题,python也是会做出处理的,只是现在我还没有学到那一块,后面学到了在补充。

本人也是在一步步的学习python,如果哪里有不合适或者错误的地方,请指点。