• 字典


    例题一
     infor = {'name': '宋江', 'age': '37'}
    (1)判断是否有name键存在,有的话,返回我找个这个键了;
    (2)判断是否有sex键存在,有的话,返回我找个这个键了,没有的话,添加这个键;
    (3)通过遍历的方式,逐一返回字典的键;
    (4)取字典的‘add’键,如果取不到,返回‘lclc’
    (5)清空该字典;
    (6)随机逐一删除该字典的键值对;
    
    例题二
    d={
    '001':{'name': '刘超', 'age': 22, 'addr': '银河系'},
    '002':{'name': 'sd', 'age': 27, 'addr': '银河系'},
    '003':{'name': '刘sd', 'age': 24, 'addr': '银河系'},
    '004':{'name': '刘sorry', 'age': 22, 'addr': '银河系'}
    }
    (1)取出所有字典的键,值
    (2)通过程序返回如下形式:
    '001'  'name': '刘超'  'age': 22   'addr': '银河系'
    '002'  'name': 'sd'  'age': 27    'addr': '银河系'
    '003'  'name': '刘sd' 'age': 24 'addr': '银河系'
    '004'  'name': '刘sorry' 'age': 22 'addr': '银河系'
    
    例题3:
    d={
        '001':{'name': '刘超', 'age': 22, 'addr': '山东'},
        '002':{'name': '张三', 'age': 27, 'addr': '北京'},
        '003':{'name': '李四', 'age': 24, 'addr': '天津'},
        '004':{'name': '王五', 'age': 22, 'addr': '北京'}
    }
    逐一判断d中所有的'addr',将其值为'北京'的,全部添加一个新的键值对'house'='10000'
    
    例题4
    zd={}
    通过用户输入姓名,年龄,地址,给字典zd填键值对
    
    例题5
    s={
        '001':{'物理': '82', '化学': 22, '语文': '99'},
        '002':{'物理': '79', '化学': 79, '语文': '79'},
        '003':{'物理': '69', '化学': 87, '语文': '89'},
        '004':{'物理': '99', '化学': 76, '语文': '99'}
    }
    (1)求每个学生的平均分 (2)扩展:求班级每科的评均分

    -------------------答案------------------------

    第一题:
    (1)
    方法一:
    if 'name' in infor:
        print('我找到这个键了!')
    
    #方法二:get
    if infor.get('name',False):
        print('我找到这个键了!')
    
    #方法三:
    for k,v in infor.items():
    for k in infor.keys():
        if k == 'name':
            print('我找到这个键了')
    
    (2if infor.get('sex'):###False没有起实质作用
        print('我找个这个键了')
    
    elif infor.get('sex',True):
        infor['sex']=''
    print(infor)
    
    (3for i in infor.keys():
        print(i,end=' ')
    
    (4)
    infor.get('add','lclc')
    
    (5)
    infor.clear()
    
    (6)
    a=len(infor)
    # print(a)
    while a > 0:
        item=infor.popitem()
        a = a-1
        print(item)
    
    第二题:
    (1)
    k_list = []
    v_list=[]
    for k,v in d.items():
        if k not in k_list:
             k_list.append(k)
        for i,j in v.items():
            if i not in k_list:
                k_list.append(i)
            if j not in v_list:
                v_list.append(j)
    print(k_list)
    print(v_list)
    
    (2)
    for k,v in d.items():
        print(k,end=' ')
        for i,j in v.items():
            print(i,':',j,end=' ')
        print()
    
    第三题:
    for v in d.values():
        if v['addr']=='北京':
            v['house']=10000
    
    第四题:
    zd={}
    zd['name'] = input('请输入姓名')
    zd['age'] = input('请输入年龄')
    zd['addr'] = input('请输入地址')
    # zd['addr'] = input('请输入地址')
    print(zd)
    
    第五题:
    (1for v in s.values():
        sum = 0
        # a=(int(v['物理'])+int(v['化学'])+int(v['语文']))/len(v)
        # print(a)
        for i in v.values():
            sum += int(i)
        print('平均分为:%.2f'%(sum/3))
    
    (2)
    py_score=0
    ch_score=0
    chinese_score=0
    for v in s.values():
        py_score+=int(v['物理'])/len(s)
        ch_score+=int(v['化学'])/len(s)
        chinese_score+=int(v['语文'])/len(s)
    print(py_score,'
    ',ch_score,'
    ',chinese_score)
  • 相关阅读:
    Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别
    【.net 深呼吸】细说CodeDom(7):索引器
    【.net 深呼吸】细说CodeDom(6):方法参数
    【.net 深呼吸】细说CodeDom(5):类型成员
    【.net 深呼吸】细说CodeDom(4):类型定义
    【.net 深呼吸】细说CodeDom(3):命名空间
    【.net 深呼吸】细说CodeDom(2):表达式、语句
    【.net 深呼吸】细说CodeDom(1):结构大观
    【.net 深呼吸】序列化中的“引用保留”
    【.net 深呼吸】设置序列化中的最大数据量
  • 原文地址:https://www.cnblogs.com/renshaoqi/p/10182326.html
Copyright © 2020-2023  润新知