Python基础课程:第四课
Python课程四:列表和字典
知识点⼀:列表
1、列表结构
利⽤中括号表⽰列表
列表内的元素⽤逗号隔开
注意是英⽂输⼊法下的逗号,如例:
student1 = ['lilei',18,'class01',201901]
student2 = ['hanmeimei',19,'class02',201902]
2、列表具有可变性:可以修改列表中的内容
a)获取列表中的元素
编程语⾔中通常第⼀个位置的编号是0,以此类推。
以下列表为例:
grade = [98,99,95,80]
获取列表的某个元素,通常⽤中括号将元素的位置括起来。
print(grade[0])
print(grade[0]+grade[3])
运⾏后显⽰
98
178
列表常⽤⽅法
b)获取列表长度len(列表)
student_list = ['李雷','韩梅梅','马冬梅']
print(len(student_list))
c)修改列表中的元素到需要修改的元素编号,列表名[编号]=新值student_list = ['李雷','韩梅梅','马冬梅']
student_list[0] = 'lilei'
d)向列表添加元素列表名.append(要添加的元素)
inventory = ['钥匙','毒药']
inventory.append('解药')
e)删除列表元素del+列表元素删除
student_list = ['李雷','韩梅梅','马冬梅']
del student_list[0]
f)两个列表相加列表1+列表2
numbers1 = [0,1,2,3,4]
numbers2 = [5,6,7,8,9]
print(numbers1+numbers2)
g)判断某个元素是否存在于列表中in
inventory = ['钥匙','毒药','解药']
if '解药' in inventory:
print('yes')
else:启动mysql服务名无效
print('no')
h)获取列表中某个元素的重复次数⽤列表.count(元素)来获取
numbers1 = [0,1,1,2,3,4,1]
unt(1))
i)获取列表中某个元素第⼀次出现的位置⽤列表.index(元素)来获取
numbers1 = [0,1,1,2,3,4,1] print(numbers1.index(1))
知识点⼆:字典
1、字典的结构
{key:value,key:value}
{键:键值}
⽤花括号表⽰字典
字典内每⼀项都有两个元素组成:key和value,key和value⼀⼀对应,同⼀个键只能有⼀个对应的值,
各个项⽤逗号隔开
键的类型是不可变的。如例:
phone_numbers = {'李雷':'123456','韩梅梅':'456','马冬梅':'45678'}
print(phone_numbers)编程工具是数据分析工具么
2、访问字典中的数据openstack安装步骤
变量[key] ,如例:
grade = {'李雷':'98','韩梅梅':'99'}
print (grade['李雷']) #访问字典⾥的数据
3、更新字典的元素
变量[key] = 新值
grade = {'李雷':'98','韩梅梅':'99'}
grade['韩梅梅'] = 100 #更新字典的元素
print(grade)
4、字典的删除操作
grade = {'李雷':'98','韩梅梅':'99','马冬梅':'95'} del grade['李雷'] #删除字典⾥的某⼀项# 删除字典⾥的每⼀项grade.clear() # 删除字典本⾝del grade
课后练习
练习1:聊关键⼈名警报机
:# 我们每天都在⽤聊天⼯具,聊有时候太多可能都看不过来。既然我们会编程,不如让
机器⼈帮我们实时监测吧!
# 监测⼈员名单:⼩红, 张三, 李四, 王五, 赵六, ⼩明
# 输出要求:
# -将user_name赋值为**⼩明**
# -将names_list赋值为列表,⾥⾯储存描述中的⼈员名单
# -判断user_name是否在监测列表**names_list**内
# -如果在列表内则输出:**发现监测⽬标**
# -否则输出:**该⽤户不是监测⽬标**
user_name = '?'
names_list = ?
if ?
else:
print?
解题思路:
我们分析⼀下这道题⽬的需求。
⾸先,它让我们对变量赋值。这个相信⼤家已经不是什么难题了:
OK,第⼆步要求我们将names_list赋值为列表,⾥⾯储存描述中的⼈员名单。
根据题⼲啊,我们知道⼈员名单包括:⼩红, 张三, 李四, 王五, 赵六, ⼩明。
在在在在在在在name_list在在在在在在在在在在在在在在在在在在在List在Python在在在在在在在在在在在在在在在在在在在在在在在
我们将上述⼈名分别存⼊list中,结果如下:
这样我们就完成了对于列表的构建。列表是Python中最常⽤的数据结构之⼀,同学们需要多多熟悉对于列表的基本操作,这样才可以在解题过程中事半功倍。
在在在在在在在在“在在user_name在在在在在在在names_list在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在”在
在在在在在在...在...在在...在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在
python基础代码练习
难点就是如何判断“user_name是否在监测列表names_list内”。
在在在在在在在在在在在在在在在在在在在在在在在user_name in
names_list在在在在在在在在在在在在在在在在在在在在在在在在在
其实也很符合英语的语法,A in B就是说A在B⾥⾯嘛。同学们可以这样去记忆,我们的⽬的就是可以熟悉⽤法即可。
好,那么将这个条件加⼊判断过程中,相信写执⾏语句难不倒⼤家,代码如下:
总结⼀下,本题初步考查了⼤家对于列表的赋值和基本⽤法。希望⼤家能以这道题为引,好好记忆⼀下列表的相关操作,会对未来的编程学习有很⼤帮助哦!答案
user_name = '⼩明'
names_list = ['⼩红', '张三', '李四', '王五', '赵六', '⼩明']
if user_name in names_list:
小时代夫妻
print('发现监测⽬标')
else:
print('该⽤户不是监测⽬标')
练习2:平均成绩计算器
#你的⼩学体育⽼师在听说你会编程以后,马上到你,希望你帮他做⼀个程序⾃动计算学⽣语⽂成绩的平均分。会了编程的你欣然接受。
#输出要求:
#统计列表中全部同学的成绩平均分(平均分=(成绩1+成绩2+..._成绩n)/n)
#提⽰:
#可以使⽤Python内置的sum求和函数,⽐如下⾯程序就会输出6
#l = [1, 2, 3]
#print(sum(l))
grade = [90, 85, 95, 93, 60, 78, 88]
average_score = ?
print(average_score)
解题思路:
很多同学看到这个题⽬之后都会对体育⽼师计算语⽂成绩这个点感到疑惑,哈哈,这是我们出题的⽼师跟⼤家开的⼀个⼩玩笑啦,希望⼤家可以带着快乐去学习~
还是废话不多讲,我们来看⼀下平均成绩计算器这道题⽬。
平均分这个概念相信⼤部分学⽣都很熟悉啦。对于N个学⽣来说,将N个学⽣的成绩加和之后,再除以N,所得的结果就是平均成绩。那么在我们这道题⽬当中,⽰例代码已经给出了:
这样⼀个成绩列表,我们⽤列表的形式将⼏位同学的成绩储存了起来⽅便使⽤。整个平均分的计算过
程可以分为两个部分,我们分别来解决:
1、计算N位学⽣的总成绩
这个可以根据提⽰中所介绍的sum函数进⾏求和,我们仿照提⽰给出的形式,⽤sum(grade)来计算总成绩
2、计算学⽣个数
在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在
由于每⼀个列表中每⼀个元素分别代表⼀个学⽣的成绩,那么列表的长度就代表了学⽣的数量。⽽求列表长度,只需要⽤Python的内置函数len()即可。
我们⽤len(grade)来代表列表长度,也就是学⽣个数。
好啦,接下来就是计算平均值了,这个我想⼤部分同学应该已经可以⾃⼰动⼿解决问题了!我们的⽰例代码如下:
点击运⾏就可以完成作业啦。
最后⽼师想提⼀句,在“作业七:名字越长才会越强”⾥,我们曾经⽤len()函数计算过字符串的长度,今天我们⼜⽤len()计算了列表的长度。难道len()是万能的吗?
其实字符串在Python内部的存储形式与列表⾮常相似,例如访问是时候都可以⽤A[0]去访问字符串/列表的⾸个字符/元素。
在之后的学习中,同学需要多多总结这些相同的地⽅,构造完整的知识体系与⽹络。
答案:
grade = [90, 85, 95, 93, 60, 78, 88]
average_score = sum(grade)/len(grade)
print(average_score)
练习3:计算年龄差
#⼩明是⼀个孝顺的孩⼦,他想牢牢记住家⼈的年龄,以激励⾃⼰好好努⼒。
#⼩明将家⼈的年纪以字典的⽅式保存,现在他想知道⽗亲和爷爷的年龄差距⼤还是⾃⼰和⽗亲的年龄差距⼤。请聪明的你告诉他吧。
htmlinput怎么使用age = {'grandfather': 69, 'grandmother': 64, 'father': 40, 'mother': 38, 'xiaoming': 13}
grandfather_age = ?
father_age = ?
xiaoming_age = ?
if ?
print('⽗亲与⼩明的年龄差⽐较⼤')
elif ?
print('爷爷与⽗亲的年龄差⽐较⼤')
else:
print('爷爷与⽗亲的年龄差和⽗亲与⼩明的年龄差⼀样⼤')
解题思路:
在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在在

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。