python - 字典

发布时间:2019-08-17 09:32:45编辑:auto阅读(1873)


    *********************字典******************


    字典是python中唯一的映射类型,key-value(哈希表),字典
    对象是可变的,但key必须用不可变对象。
    字典是无序的。


    *)字典的创建
    1.赋值创建字典,key-value,键值对

    In [4]: d = {'key':'value1','key2':'value2'}

    In [5]: type(d)
    Out[5]: dict

    2.工厂法创建字典

    In [6]: d = dict(user1='123',user2='456',user3='789')

    In [7]: type(d)
    Out[7]: dict
    In [8]: print d
    {'user2': '456', 'user3': '789', 'user1': '123'}

    3.通过内建方法fromkeys创建字典
    字典中的key有相同的value值,默认为None

    In [9]: print {}.fromkeys('hello')
    {'h': None, 'e': None, 'l': None, 'o': None}

    In [10]: print {}.fromkeys(['user1','user2'],'123')
    {'user2': '123', 'user1': '123'}


    Screenshot from 2018-01-07 20-13-05.png


    应用案例生成多个银行卡号,并初始化程序为‘000000’
    卡号由6位组成,前3位是610,后面以此为001,002,003......


    Screenshot from 2018-01-07 20-33-51.png


    *)字典值的访问


    •直接通过key访问

    Screenshot from 2018-01-07 20-40-05.png

    循环遍历访问



    Screenshot from 2018-01-07 20-41-13.png


    -字典不能索引和切片,因为字典是无序的数据类型;
    -字典不支持重复和连接;
    -字典支持成员操作符,判断字典的key值是否在字典中存在;in,not in

    字典的增删改查

    ***增
    In [16]: services = {'ftp':[20,21]}
    #通过字典名[key]=value,将key-value添加到字典中;
    In [17]: services['http'] = [80,8080]

    In [18]: print services
    {'ftp': [20, 21], 'http': [80, 8080]}


    Screenshot from 2018-01-07 20-47-33.png

    #update方法实现添加:key存在,覆盖value值,否则,添加

    Screenshot from 2018-01-07 20-52-51.png

    Screenshot from 2018-01-07 20-55-20.png

    #setdefault实现添加:key存在,不覆盖value值,否则,添加


    Screenshot from 2018-01-07 21-09-27.png

    ***改
    update
    •dic[key] = value

    ***查

    In [78]: dic.keys()  查看key值

    In [79]: dic.values() 查看values值


    Screenshot from 2018-01-07 21-20-54.png



    In [85]: dic.items()  查看  key - value 值


    In [104]: dic.has_key('age')  查看key是否存在
    Out[104]: True

    In [105]: dic.get('age') 查看指定key对应的value值;若key存在返回value值;若不存在,不报错
    Out[105]: 'no'

    In [106]: dic.get('agee')


    **循环遍历字典
    #默认情况下遍历字典的key值

    Screenshot from 2018-01-07 21-31-06.png


    Screenshot from 2018-01-07 21-39-14.png

    ***删

    • dic.pop(key)
    根据key值删除字典的元素;

    In [109]: dic = {'name':'huan','age':'no','habby':'play'}

    In [110]: dic.pop('age')
    Out[110]: 'no'

    • dic.popitem()
    随机删除字典元素,返回(key,value
    )
    In [111]: dic.popitem()
    Out[111]: ('name', 'huan')

    •dic.clear()
    删除字典中的所有元素

    In [112]: dic.clear()

    •del dic
    删除字典本身

    In [113]: del dic


    Screenshot from 2018-01-07 21-50-37.png


    案例
    实现四则运算
    -用户分别输入第一个数字,运算操作符,第三个数字;
    -根据用户的运算操作打印出运算结果;


    Screenshot from 2018-01-07 21-59-01.png



    Screenshot from 2018-01-07 21-59-10.png

关键字

上一篇: Python list列表

下一篇: Python的举例之一