作业1
-
练习介绍
练习目标:
我们会通过今天的作业,更熟练地取出层层嵌套中的数据,并了解一种新的数据类型:元组。
练习要求:
我们知道了列表和字典的不同:列表的基本单位是元素,而字典里是键值对。所以,两者提取数据的方式也不同。
你可以通过头两个练习来验证自己已经掌握了。
而在第三道练习,你会学会提取元组里的数据。 -
数据提取-1
请你通过所学知识,把列表list1中的'love'取出来,并打印出来。
-
数据提取-2
请你通过所学知识,把字典dict1中的'love'取出来,并打印出来。
-
拓展知识:元组
下面,介绍一种新的数据类型:元组(tuple)。 可以看到:元组和表格很相似,不过,它是用小括号来包的。
元组和列表都是序列,提取的方式也是偏移量,如 tuple1[1]、tuple1[1:]。另外,元组也支持任意的嵌套。
请你根据以上提供的信息,将tuple1中的A和list2中的D打印出来。看到了,理解了,运用了,就能够掌握了。 -
参考代码
list1 = [{'嫉妒':'envy'},{'恨':'hatred'},{'爱':'love'}]
print(list1[2]['爱'])
# 第一步:取出列表中的第三个元素(list1[2]),字典{'爱':'love'};
# 第二步:取出list1[2]中键'爱'所对应的值,即'love’(list1[2]['爱'])。
dict1 = {1:['cake','scone','puff'],2:['London','Bristol','Bath'],3:['love','hatred','envy']}
print(dict1[3][0])
# 第一步:取出字典中键为3对应的值(dict1[3]),即['love','hatred','envy']。
# 第二步:再取出列表['love','hatred','envy']中的第一个元素(dict1[3][0])。
tuple1 = ('A','B')
list2 = [('A','B'),('C','D'),('E','F')]
print(tuple1[0])
print(list2[1][1])
# 从代码里,也可看出:1.元组内数据的提取也是用偏移量;2.元组也支持互相嵌套。
作业2
-
练习介绍
练习目标
在层层嵌套的各种数据类型中,准确地提取出你需要的数据。
练习要求
在未来世界里,一个新建的童话镇吸引了不少人入住。
不过,在人群里隐藏着一只狼,会威胁大家的安全。
童话镇的镇长希望你能找到它,并揭发其身份。
用程序语言就是说:列表中有个字符串是“狼”,将其打印出来吧。 -
马上行动
请你通过所学知识,把列表中的“狼”取出来,并打印出来。
-
列表
townee = [ {'海底王国':['小美人鱼''海之王''小美人鱼的祖母''五位姐姐'],'上层世界':['王子','邻国公主']}, '丑小鸭','坚定的锡兵','睡美人','青蛙王子', [{'主角':'小红帽','配角1':'外婆','配角2':'猎人'},{'反面角色':'狼'}] ]
-
参考代码
列表和字典都是可任意嵌套的,可以同时包容不同类型的数据(如字符串、字典、列表等)。
所以,在提取数据时,要留意每个字符串都占据了一个偏移量。
townee = [
{'海底王国':['小美人鱼''海之王''小美人鱼的祖母''五位姐姐'],'上层世界':['王子','邻国公主']},
'丑小鸭','坚定的锡兵','睡美人','青蛙王子',
[{'主角':'小红帽','配角1':'外婆','配角2':'猎人'},{'反面角色':'狼'}]
]
print(townee[5][1]['反面角色'])
#test
#狼