公司网站做的好的,丹东做网站的,微信如何创建自己的小程序,流行网站设计文 | 猿天罡前言前两篇文章#xff0c;我们学习了Python字典的基本用法和遍历字典的三种方式。为了让小伙伴们不耗费多余的注意力#xff0c;我们举的例子都尽可能的简单#xff0c;不信你回去看看#xff0c;字典键对应的值都是基本数据类型(字符串、数字等)。其实#x…文 | 猿天罡前言前两篇文章我们学习了Python字典的基本用法和遍历字典的三种方式。为了让小伙伴们不耗费多余的注意力我们举的例子都尽可能的简单不信你回去看看字典键对应的值都是基本数据类型(字符串、数字等)。其实字典里键对应的值可以很复杂。我们可以在字典中存储列表在列表中存储字典在字典中存储字典等等。Python中几乎所有的数据类型都可以存进字典里。学习不是一日之功需摆正心态持之以恒希望小伙伴们对学习一门语言抱有基本的耐心。下面我们来开心地学习吧。1.在字典里存储列表1.1字典里不全是列表笔者在大学的时候需要学习四门基础专业课。course [数据结构, 计算机网络, 计算机组成原理, 操作系统]如果我们声明一个学生字典则专业课列表应该在学生字典之中。student { name: kelvin, age: 18, course: [数据结构, 计算机网络, 计算机组成原理, 操作系统]}注也可以用双引号包裹字符串(别的文章可不会提醒的这么详细)这种情况下要想访问课程列表和我们讲的字典访问方法一毛一样(基础挺重要的)student[course]。下面我们来打印这个学生的信息。# 概述学生基本信息print(姓名, student[name], 年龄, student[age])print(课程信息如下)for course in student[course]: print( course)运行结果如下说明(看得懂代码可以跳过)首先我们创建了一个学生字典字典里存储了学生的姓名、年龄和课程信息。姓名和年龄都是基本数据类型(一个字符串另一个数字)课程是列表结构。然后我们通过字典访问方法字典[键]一下子就把姓名和年龄拿到并输出了。最后我们通过student[course]拿到了一个课程列表但直接输出格式太不好看了所以我们对其进行了遍历依次输出学生要上的课程。1.2字典里全是列表还有一种字典里存列表的情况键对应的值全是列表。遇到这种情况心里可以偷着乐因为循环遍历的时候格式会很好看(后文会有解释)。学校老师需要每个学生的课程信息(因为有的人选课会不一样)。这个时候把学生姓名做键(实际情况下是用学号姓名会重复)以学生课程列表为值可以组成字典。courses { kelvin: [数据结构, 计算机网络, 计算机组成原理, 操作系统], vicky: [xx经济学, 西方经济学, 统计学, 发展经济学]}我们把多个学生的课程表打印输出。for name, course in courses.items(): print(name 同学所学课程) for c in course: print( c)因为每个键对应的都是列表所以需要再使用一个for循环来遍历学生课程列表。解释(看得懂代码可以跳过)首先使用外层for循环依次将courses字典里的键和值分别赋值给变量name和course。然后name对应的值是个简单的字符串所以我们直接打印输出了。最后遍历course列表格式化地打印学生所学课程。再注字典里不全是字典也可以用双层循环只不过我们需要加个if判断如果值是列表才能进入到内层循环。2.在字典里存储字典字典里存储字典很像俄罗斯套娃。循环(打开)一层字典后面对的还是字典真是让人惊喜又惊喜。和在字典中存储列表一样在字典里存储字典也有两种情况。聪明的小伙伴已经猜到了在字典里不全是字典和在字典里全是字典。看着让人有点头晕(建议看下前面的小标题清醒一下)。因为在字典里不全是字典比较简单(不理解的欢迎私信)所以我们重点讲讲在字典里全是字典的情况。学校需要学生信息表(不是学生所上课程信息)。如果要用字典来存储的话可以这样。students { kelvin: { age: 18, course: [数据结构, 计算机网络, 计算机组成原理, 操作系统] }, vicky: { age: 19, course: [xx经济学, 西方经济学, 统计学, 发展经济学] }}可以看到外层students字典里面存储的依然是以学生姓名为键学生其他信息为值的字典。更过分地是学生其他信息里竟然还有个学生列表。看我们怎么处理这些数据。for name, student in students.items(): print(姓名