class2-字典

作者: 凌航 | 来源:发表于2019-05-05 15:32 被阅读14次

    字典与c语言中的map类似,字典中的元素是以key->value成对出现的,key的作用有点类似于列表的索引,且不能重复

    • 创建:同列表,直接用花括号创建
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    print(type(info))
    

    <class 'dict'>

    • 访问
      • 根据键进行访问,若是键不存在会报错
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    print(info['name'])
    print(info['sex'])
    

    刘强东
    KeyError: 'sex'

    • get:当我们不确定字典中是否存在某个key,而且还要获得其value可以使用get方法。若找到,返回对应的值,否则返回第二个参数
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    mail = info.get('mail', '122@jingdong.com')
    print(mail)
    sex = info.get('sex', '未找到')
    print(sex)  
    

    122@jingdong.com
    未找到

    • 修改:用key做下标,修改对应的值
            'id': 513524199806045423, 'addr': '北京'}
    info['name'] = '马云'
    print(info)
    

    {'name': '马云', 'age': 45, 'id': 513524199806045423, 'addr': '北京'}

    • 添加:直接看例子
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    info['sex'] = '男'
    print('添加后',info)
    

    添加后 {'name': '刘强东', 'age': 45, 'id': 513524199806045423, 'addr': '北京', 'sex': '男'}

    • 删除:两种方式,一种是del,一种是clear
      • del:可以根据键删除,也可以直接让字典变成未定义状态
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    del info['name']
    info['sex'] = '男'
    print('删除后', info)
    # del info # 直接删除info,让其未被定义
    

    删除后 {'age': 45, 'id': 513524199806045423, 'addr': '北京', 'sex': '男'}

    • clear:清空字典
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    info.clear()
    print('after after ',info)
    print(len(info)) # 输出字典的个数义
    

    after after {}
    0

    • keys:以列表形式返回所有key
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    keys = info.keys()
    print(keys)
    

    dict_keys(['name', 'age', 'id', 'addr'])

    • values:以列表形式返回所有value
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    values = info.values()
    print(values)
    

    dict_values(['刘强东', 45, 513524199806045423, '北京'])

    • items:同时返回key和value,返回值是列表,元素是元组
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    items = info.items()
    print(items)
    

    dict_items([('name', '刘强东'), ('age', 45), ('id', 513524199806045423), ('addr', '北京')])

    • 遍历:类似于列表,把索引换成key就行了
    info = {'name': '刘强东', 'age': 45,
            'id': 513524199806045423, 'addr': '北京'}
    for key in info.keys():
        print(info[key])
    

    刘强东
    45
    513524199806045423
    北京

    相关文章

      网友评论

        本文标题:class2-字典

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