特性:
    1.key-value结构
    2.key必须为不可变数据,必须唯一。
    3.可存放任意多个value,可修改,可不唯一。
    4.无序
    5.查询速度快,且不受dict大小影响。

    创建方法
    1

    1. userinfo = {
    2. "name":"harris",
    3. "age":"18",
    4. "phone":"17362955684"
    5. }#直接赋值

    2

    1. userinfo = dict(
    2. "name":"harris",
    3. "age":"18",
    4. "phone":"17362955684"
    5. )#使用dict方法进行创建
    6. userinfo = dict({
    7. "name":"harris",
    8. "age":"18",
    9. "phone":"17362955684"
    10. })#使用dict方法进行创建

    3

    1. >>> key = (1,2,3,4,5,6,7)
    2. >>> {}.fromkeys(key,100)
    3. {1: 100, 2: 100, 3: 100, 4: 100, 5: 100, 6: 100, 7: 100}
    4. >>>
    5. #将列表转化为字典的key,并且给key默认值。

    增加
    1.

    1. >>> userinfo = {
    2. ... "name":"harris",
    3. ... "age":"18",
    4. ... "phone":"17362955684"
    5. ... }
    6. >>> userinfo["job"]=["teacher"]
    7. >>> userinfo
    8. {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    9. >>>
    10. #可以修改值

    2.

    1. >>> userinfo
    2. {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    3. >>> userinfo.setdefault("password","12345678")
    4. '12345678'
    5. >>> userinfo.setdefault("password","1234567810")
    6. '12345678'
    7. >>> #增加并且返回增加的值,如果该key已经存在,则不会不会生效并返回原来的值

    删除
    del ,删除指定key

    1. >>> userinfo
    2. {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher'], 'password': '12345678'}
    3. >>> del userinfo["job"]
    4. >>> userinfo
    5. {'name': 'harris', 'age': '18', 'phone': '17362955684', 'password': '12345678'}
    6. >>>

    pop,删除指定key,并且返回key对应的值。

    1. >>> userinfo
    2. {'name': 'harris', 'age': '18', 'phone': '17362955684', 'password': '12345678'}
    3. >>> userinfo.pop("password")
    4. '12345678'
    5. >>> userinfo
    6. {'name': 'harris', 'age': '18', 'phone': '17362955684'}
    7. >>>

    popitem,随机删除一个key,并返回删除的key和值。

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> userinfo.popitem()
    3. ('job', ['teacher'])
    4. >>>

    clear,清空字典

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> userinfo.clear()
    3. >>> userinfo
    4. {}
    5. >>>

    修改
    1.指定key重新赋值

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> userinfo["name"] = "jack"
    3. >>> userinfo
    4. {'name': 'jack', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    5. >>>

    2.update,将一字典的键值对合并到另一个字典中。并且替换掉原来的值

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> userinfo2 = {'age': '18', 'password': '12345678', 'job': ['teacher','butcher']}
    3. >>> userinfo.update(userinfo2)
    4. >>> userinfo
    5. {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher', 'butcher'], 'password': '12345678'}
    6. >>>

    查询
    1

    1. {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher', 'butcher'], 'password': '12345678'}
    2. >>> userinfo['name']
    3. 'harris'
    4. >>> userinfo['add']
    5. Traceback (most recent call last):
    6. File "<stdin>", line 1, in <module>
    7. KeyError: 'add'
    8. >>>
    9. #如果不存该key,则会报错

    2.

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> userinfo.get('name')
    3. 'harris'
    4. >>> userinfo.get('name1')
    5. >>>
    6. >>> userinfo.get('name1',-1)
    7. -1
    8. >>>
    9. #判断该key是否存在,存在则返回值,不存在则不返回,或者指定返回值

    3.

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> userinfo.keys()
    3. dict_keys(['name', 'age', 'phone', 'job'])
    4. >>>
    5. #返回包含所有的key的列表

    4.

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> userinfo.values()
    3. dict_values(['harris', '18', '17362955684', ['teacher']])
    4. >>>
    5. #返回包含所有的值的一个列表

    5.

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> userinfo.items()
    3. dict_items([('name', 'harris'), ('age', '18'), ('phone', '17362955684'), ('job', ['teacher'])])
    4. >>>
    5. #返回一个包含所有键值元组的列表

    循环
    1.

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> for i in userinfo:
    3. ... print(i)
    4. ...
    5. name
    6. age
    7. phone
    8. job
    9. >>> for i in userinfo:
    10. ... print(i,userinfo[i])
    11. ...
    12. name harris
    13. age 18
    14. phone 17362955684
    15. job ['teacher']
    16. >>>
    17. #效率最高

    2.

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> for i in userinfo.keys():
    3. ... print(i)
    4. ...
    5. name
    6. age
    7. phone
    8. job
    9. >>> 循环所有的key

    3.

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> for i in userinfo.values():
    3. ... print(i)
    4. ...
    5. harris
    6. 18
    7. 17362955684
    8. ['teacher']
    9. >>>
    10. #循环所有的值

    4.

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> for i in userinfo.items():
    3. ... print(i)
    4. ...
    5. ('name', 'harris')
    6. ('age', '18')
    7. ('phone', '17362955684')
    8. ('job', ['teacher'])
    9. >>>
    10. #将所有的键值对以元组的形式打印出来
    11. >>> for k,y in userinfo.items():
    12. ... print(k,y)
    13. ...
    14. name harris
    15. age 18
    16. phone 17362955684
    17. job ['teacher']
    18. >>>
    19. #使用两个临时变量,以不含元组的形式进行打印。

    求长度

    1. >>> userinfo = {'name': 'harris', 'age': '18', 'phone': '17362955684', 'job': ['teacher']}
    2. >>> len(userinfo)
    3. 4
    4. >>>