《Python 程序设计》张莉主编 第四章:字典和集合 课后习题答案

本文介绍了Python中的字典和集合数据结构及其应用。通过实例展示了如何创建和操作字典,如获取键、值和项,以及如何使用`update()`函数更新字典。同时,解释了集合的无序不重复特性,并通过统计学生参加活动次数的示例展示了`get()`函数的用法。最后,演示了如何检查字典中是否存在特定键并输出密码,以及如何计算交集和并集来找出同时或只选择一项兴趣小组的学生人数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

字典,是 Python 提供地一种独特地树结构,可以建立对象之间的映射关系,在此种关系下,来处理通过名字来访问值的应用就会非常方便。

Python 还提供了一种很特殊的数据结构——集合,它与数学中的集合概念相似,也是一种无序不重复的组合。


正文

  • 题目一:基于下表创建一个国家(键)和语言(值)映射的词典 nations ,完成如下操作:
     国家语言
    ChinaChinese
    USAEnglish
    FranceFrench
    GermanyGerman

     (1)显示字典的所有键

     (2)显示字典的所有值

     (3)显示字典的所有项

     (4)获取键'France'对应得值

     (5)创建一个新字典{'Spain':'Spanish','Japan':'Japamese'},将其加入字典 nations 中。

    知识点:

            update()函数:

                dict.update(dict2)

                #dict2:添加到指定字典 dict 里的字典

                #需要注意的是,有相同的键会被直接替换成 dict2中的值

    代码实现:

    nations = {'China':'Chinese','USA':'English','France':'French','Germany':'German'}
    print(nations.keys())#返回键
    print(nations.values())#返回值
    print(nations.items())#返回键值对
    print(nations.get('France'))#返回键对应的值
    
    NewNations = {'Spain':'Spanish','Japan':'Japamese'}
    nations.update(NewNations)
    print(nations)
  • 题目二:

    已知有三位学生参加了主题演讲得记录列表:

    names = ['xiaoma','xiaowang','xiaoma','xiaoliu','xiaoma','xiaoliu']

    请统计出每个学生参加活动的次数并记录到字典中,结果如下(顺序不做要求):

    {'xiaowang':1,'xiaoma':3,'xiaoliu':2}

知识点:

        get()函数:

            dict.get(key,default=None)

            参数:

                key:字典中要查询的键

                default:如果指定键不存在时,则返回该默认的值

代码实现:

names = ['xiaoma','xiaowang','xiaoma','xiaoliu','xiaoma','xiaoliu']
counts = {}
for i in names:
    counts[i] = counts.get(i,0)+1
print(counts)
  • 题目三:

    创建一个字典 users ,字典中保存了某一个网站已经注册的账号(用户名和密码对),查找是否存在用户'xiaoming',若用户名存在则输出其密码,否则输出“not found”。

    #代码实现
    users = {'xiaoming':'zxcv'}
    if 'xiaoming' in users:
        print(users.values())
    else:
        print('not found')

     

  • 题目四:

    已知有两个集合 footballSet 和 basketballSet ,分别存储选择了足球兴趣小组和篮球兴趣小组的学生姓名,请自行构建集合数据,计算并输出如下信息:

    (1)选了两个兴趣小组的学生姓名和人数;

    (2)仅选了一个兴趣小组的学生姓名和人数

     代码实现:

#代码实现
footballSet = {'a','b','c','d','e'}
basketballSet = {'a1','b','c','d1','e1'}

BothSet = footballSet & basketballSet
Soleset = footballSet ^ basketballSet

print(BothSet,len(BothSet))
print(Soleset,len(Soleset))

总结

Python 编程语言中许多简单却独特的功能应用,在实际编程中体现了非常强大的功能,比如Python 字典应用就是一个比较重要的应用。本章介绍的只是字典中的简单应用。

在后续的学习过程中,将会持续更新本书课后习题答案。

有个小小的想法,后续单独开个系列对知识点进行详解~~~~

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Monty _Lee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值