• python学习笔记(二)— 字典(Dictionary)


    字典是另一种可变容器模型,且可存储任意类型对象。字典是无序的,因为它没有下标,用key来当索引,所以是无序的。

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    d = {key1 : value1, key2 : value2 }

    键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    一个简单的字典实例:

    dict1 = { 'abc': 456 };
    dict2 = { 'abc': 123, 1: 37 };
    dict3 {'marry':[18,18612512981,'北京'],'amy':[20,18612512991,'山东'],'lily':[25,18612532981,'河南']

    一、访问字典里的值

    dict = {'marry':[18,18612512981,'北京'],'amy':[20,18612512991,'山东'],'lily':[25,18612532981,'河南']}
    print(dict.get('maryy'))#获取marry的信息,这种方式如果key不存在的话,会返回None
    print(dict['marry'])#获取marry的信息,这种方式如果key不存在的话,会报错
    print('marry' in dict) #判断marry是否在这个字典中,返回True或者False

    返回:

    li
    None
    [18, 18612512981, '北京']
    True

    二、字典的操作

    dict = {'name':'li','age':18,'sex':'','addr':'昌平区','money':10000000 }
    dict.setdefault('weight',130)
    dict['shengao']=198
    print(dict)

    返回:

    {'age': 18, 'addr': '昌平区', 'name': 'li', 'shengao': 198, 'sex': '', 'weight': 130, 'money': 10000000}

    dict = {'name':'li','age':18,'sex':'','addr':'昌平区','money':10000000 }
    dict['name']='小黑'#如果这个key存在的话,修改他的值,如果key不存在的话,新增一个
    print(dict)

    返回:

    {'money': 10000000, 'name': '小黑', 'sex': '', 'age': 18, 'addr': '昌平区'}

    dict = {'name':'li','age':18,'sex':'','addr':'昌平区','money':10000000 }
    dict.pop('sex')#删除某个key
    dict.popitem()#随机删除一个
    del dict['age']#删除某个key
    #d.clear()#清空字典
    print(dict)

    返回:

    {'name': 'li', 'money': 10000000}

    三、字典的内置方法

    dict = {'stu1':'cc','stu2':'andashu','stu3':'niuniu'}
    print(dict.values())#打印所有value
    print(dict.keys())#打印所有的key
    if 'stu2' in dict:#判断key是否在这个字典里头
        print('存在')

    返回:

    dict_values(['andashu', 'niuniu', 'cc'])
    dict_keys(['stu2', 'stu3', 'stu1'])
    存在

    四、字典的嵌套

    stus = {
        'ybq': {
            'age': 18,
            'sex': '',
            'addr': '昌平区',
            'money': 10000000,
            'jinku': {
                '建行卡': 80000,
                '工商卡': 800000,
                '招商卡': 8000000
            }
        },
        'tlx': {
            'age': 19,
            'sex': '',
            'addr': '昌平区',
            'money': 10000000,
            'huazhuangpin': ['chanle','haha']
        },
        'mpp': {
            'age': 19,
            'sex': '',
            'addr': '昌平区',
            'money': 10000000,
            "bag": {
                'lv': '一车',
                '鳄鱼':10
            }
        },
    }
    
    all_money = stus['ybq']['jinku'].values()
    print(all_money)
    print(sum(all_money))
    sum_money = 0
    for money in all_money:
        sum_money= sum_money+money
    print(sum_money)

    返回:

    dict_values([8000000, 800000, 80000])
    8880000
    8880000

    五、字典的循环

    dic = {'stu1':'a','stu2':'b','stu3':'c'}
    for k in dic:
        print(k,dic[k])#打印key和value的值,推荐使用这种方式,速度快
    # for k,v in dic.items():
    #     print(k,v)#打印key和value的值,这种方式不推荐,因为会把字典转换成列表,效率不高

    返回:

    stu2 a
    stu3 b
    stu1 c
  • 相关阅读:
    HDU 1251 统计难题 字符匹配
    mac 安装mysql
    ubuntu git 下添加 ssh
    mac下virtualenv使用
    git-ssh配置和使用
    在PythonAnyWhere上部署Django项目
    ImportError: No module named PIL
    mysql 命令行操作
    ubuntu安装ssh
    常用git命令
  • 原文地址:https://www.cnblogs.com/qikelili/p/8127404.html
Copyright © 2020-2023  润新知