• Python每日一练(牛客新题库)——第19天:字典练习


    前言📢📢

    最近很多学了基础的小伙伴问我该怎么提升编程水平?学了基础该上哪刷题?明明学了很多,做项目却不知道怎么上手,其实这就是练得太少,只注重了学,却忽视了刷题,只有不断练习才能提高和巩固编程思维和能力!

    在这里插入图片描述

    刚好看到牛客网最近出了Python的新题库于是体验了一番感觉还不错

    在这里插入图片描述

    链接地址牛客网 | Python从入门到实践四十招,废话少说速度上号,或者跟着下文一起刷题!!!

    1. 姓名与学号

    描述
    创建一个依次包含键-值对{‘name’: ‘Niuniu’和’Student ID’: 1}的字典my_dict_1,
    创建一个依次包含键-值对{‘name’: ‘Niumei’和’Student ID’: 2}的字典my_dict_2,
    创建一个依次包含键-值对{‘name’: ‘Niu Ke Le’和’Student ID’: 3}的字典my_dict_3,
    创建一个空列表dict_list,使用append()方法依次将字典my_dict_1、my_dict_2和my_dict_3添加到dict_list里,
    使用for循环遍历dict_list,对于遍历到的字典,使用print()语句一行输出类似字符串"Niuniu’s student id is 1."的语句以打印对应字典中的内容。

    输入描述:无

    输出描述:按题目描述进行输出即可。
    Niuniu’s student id is 1.
    Niumei’s student id is 2.
    Niu Ke Le’s student id is 3.

    实现代码:

    my_dict_1 = {'name': 'Niuniu', 'Student ID': 1}
    my_dict_2 = {'name': 'Niumei', 'Student ID': 2}
    my_dict_3 = {'name': 'Niu Ke Le', 'Student ID': 3}
    dict_list = []
    dict_list.append(my_dict_1)
    dict_list.append(my_dict_2)
    dict_list.append(my_dict_3)
    
    for i in dict_list:
        # 字典获取元素的方法i['key值'],或者i.get('key值')
        print(f"{i['name']}'s student id is {i.get('Student ID')}.")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行结果:

    Niuniu's student id is 1.
    Niumei's student id is 2.
    Niu Ke Le's student id is 3.
    
    • 1
    • 2
    • 3

    2. 首都

    描述: 创建一个依次包含键-值对’Beijing’: {Capital: ‘China’}、‘Moscow’: {Capital: ‘Russia’}和’Paris’: {Capital: ‘France’}的字典cities_dict,
    请使用for循环遍历"已使用sorted()函数按升序进行临时排序的包含字典cities_dict的所有键的列表",
    对于每一个遍历到的城市名,使用print()语句一行输出类似字符串’Beijing is the capital of China!'的语句。

    输入描述:无

    输出描述:按题目描述进行输出即可。
    Beijing is the capital of China!
    Moscow is the capital of Russia!
    Paris is the capital of France!

    实现代码:

    cities_dict={'Beijing': {"Capital": 'China'},
                 'Moscow': {"Capital": 'Russia'},
                 'Paris': {"Capital": 'France'}
                }
    
    for i in sorted(cities_dict.keys()):
        print(f"{i} is the capital of {cities_dict[i]['Capital']}!")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    运行结果:

    Beijing is the capital of China!
    Moscow is the capital of Russia!
    Paris is the capital of France!
    
    • 1
    • 2
    • 3

    3. 喜欢的颜色

    描述
    驼瑞驰调查了班上部分同学喜欢哪些颜色,并创建了一个依次包含键-值对’Allen’: [‘red’, ‘blue’, ‘yellow’]、‘Tom’: [‘green’, ‘white’, ‘blue’]和’Andy’: [‘black’, ‘pink’]的字典result_dict,作为已记录的调查结果。
    现在驼瑞驰想查看字典result_dict的内容,你能帮帮他吗?
    使用for循环遍历"使用sorted()函数按升序进行临时排序的包含字典result_dict的所有键的列表",对于每一个遍历到的名字,先使用print()语句一行输出类似字符串"Allen’s favorite colors are:"的语句,然后再使用for循环遍历该名字在字典result_dict中对应的列表,依次输出该列表中的颜色。

    输入描述:无

    输出描述:按题目描述进行输出即可。
    Allen’s favorite colors are:
    red
    blue
    yellow
    Andy’s favorite colors are:
    black
    pink
    Tom’s favorite colors are:
    green
    white
    blue

    实现代码:

    result_dict = {
        'Allen': ['red', 'blue', 'yellow'],
        'Tom': ['green', 'white', 'blue'],
        'Andy': ['black', 'pink']
    }
    for i in sorted(k for k in result_dict):##列表生成式生成key的列表
        print("%s's favorite colors are:" % i)
        for x in result_dict[i]:
            print(x)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    运行结果:

    Allen's favorite colors are:
    red
    blue
    yellow
    Andy's favorite colors are:
    black
    pink
    Tom's favorite colors are:
    green
    white
    blue
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    4. 生成字典

    描述
    牛牛有两份列表,一份记录了牛客网用户的名字,另一份记录他们使用的语言。假设两份列表一一对应,请使用zip函数将两份列表封装为字典,以名字为key,语言为value,然后直接输出字典。

    输入描述
    第一行输入多个字符串表示用户名字,以空格间隔。
    第二行输入多个字符串表示使用的语言,以空格间隔。

    输出描述:直接输出两个列表组成的字典。

    代码实现:

    a =input()
    b = input()
    names = a.split()
    language = b.split()
    dict_a = dict(zip(names,language))
    print(dict_a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行结果:

    Niuniu NIumei Niukele
    C C++ Python
    {'Niuniu': 'C', 'NIumei': 'C++', 'Niukele': 'Python'}
    
    • 1
    • 2
    • 3

    5. 如何让刷题更加高效呢?

    嫌博主更新慢的小伙伴牛客网上号自行刷题

    在这里插入图片描述

    链接地址牛客网 | Python从入门到实践四十招,废话少说速度上号!!!

  • 相关阅读:
    第三章:栈/队列 重点题
    epoll 和 reactor 的关系
    Vue部分重要知识点
    OpenCascade模型导入与导出及Shap的读写
    在将对象 => JSON格式时,无法序列化部分属性
    查看云桌面请求linux服务器网络快慢
    自动化机器学习AutoML之flaml:利用flaml框架自动寻找最优算法及其对应最佳参数python
    (02)Cartographer源码无死角解析-(17) SensorBridge→里程计数据处理与TfBridge分析
    springboot如何整个Swagger呢?
    Hive的介绍及部署搭建
  • 原文地址:https://blog.csdn.net/yuan2019035055/article/details/126110604