回顾:

列表:
什么是列表


例:创建一个列表名为list1的列表,列表里有三个元素:'小明',18,1.70,并将其打印出来:
list1 = ['小明',18,1.70]print(list1)
list1 = ['小明',18,1.70]for i in list1:print(i)
从列表提取单个元素


例:现在要喊小明来回答问题,用代码怎么写呢?请补充下列代码,利用列表的偏移量来打印出’小明’这个元素。
students = ['小明','小红','小刚']print(students[0])
从列表提取多个元素

例:提取元素
list2 = [5,6,7,8,9]print(list2[:])print(list2[2:])print(list2[:2])print(list2[1:3])print(list2[2:4])
给列表增加/删除元素

例:增加元素
# 请运行以下代码:报错后,可读一下报错信息,然后将第6行注释掉再运行。list3 = [1,2]list3.append(3)print(list3)#list3.append(4,5)list3.append([4,5])print(list3)
报错解释:多个参数

append后的括号里只能接受一个参数,但却给了两个,也就是4和5。所以,用append()给列表增加元素,每次只能增加一个元素。
例:删除元素
students = ['小明','小红','小刚','小美']del students[1]print(students)
总结:

字典
什么是字典


students = ['小明','小红','小刚']scores = {'小明':95,'小红':90,'小刚':90}
例:用len()函数来得出一个列表或者字典的长度(元素个数),括号里放列表或字典名称。
#直接运行代码即可students = ['小明','小红','小刚']scores = {'小明':95,'小红':90,'小刚':90}print(len(students))print(len(scores))
从字典中提取元素
例:将小明的成绩从字典里打印出来。这就涉及到字典的索引,和列表通过偏移量来索引不同,字典靠的是键。
# 请你运行下面的代码:scores = {'小明': 95, '小红': 90, '小刚': 90}print(scores['小明'])
给字典增加/删除元素

例:删除以及新增键值对
# 直接运行下面的代码,留意字典以及新的键值对是如何增加的:album = {'周杰伦':'七里香','王力宏':'心中的日月'}del album['周杰伦']print(album)album['周杰伦'] = '十一月的萧邦'print(album)print(album['周杰伦'])#结果{'王力宏': '心中的日月'}{'王力宏': '心中的日月', '周杰伦': '十一月的萧邦'}十一月的萧邦
例:把小刚的成绩改成92分吧。对了,新来的小美也考了,得了85。请你对字典里进行修改和新增,然后将整个字典都打印出来。
scores = {'小明':95,'小红':90,'小刚':90}del scores['小刚']scores['小刚'] = 92scores['小美'] = 85print(scores)
总结:

列表和字典的不同点
一个很重要的不同点是列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表。
# 如果==左右两边相等,值为True,不相等则为False。print(1 == 1)# 1等于1,所以值为Trueprint(1 == 2)# 1不等于2,所以为Falsestudents1 = ['小明','小红','小刚']students2 = ['小刚','小明','小红']print(students1 == students2)scores1 = {'小明':95,'小红':90,'小刚':100}scores2 = {'小刚':100,'小明':95,'小红':90}print(scores1 == scores2)#结果TrueFalseFalseTrue
列表和字典的相同点
1、在列表和字典中,如果要修改元素,都可用赋值语句来完成。
list1 = ['小明','小红','小刚','小美']list1[1] = '小蓝'print(list1)dict1 = {'小明':'男'}dict1['小明'] = '女'print(dict1)
2、支持任意嵌套


students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]print(students[1][3])
例:字典嵌套字典
#取出小芳的成绩scores = {'第一组':{'小明':95,'小红':90,'小刚':100,'小美':85},'第二组':{'小强':99,'小兰':89,'小伟':93,'小芳':88}}print(scores['第二组']['小芳'])
例:综合嵌套
# 最外层是大括号,所以是字典嵌套列表,先找到字典的键对应的列表,再判断列表中要取出元素的偏移量students = {'第一组':['小明','小红','小刚','小美'],'第二组':['小强','小兰','小伟','小芳']}print(students['第一组'][3])#取出'第一组'对应列表偏移量为3的元素,即'小美'# 最外层是中括号,所以是列表嵌套字典,先判断字典是列表的第几个元素,再找出要取出的值相对应的键scores = [{'小明':95,'小红':90,'小刚':100,'小美':85},{'小强':99,'小兰':89,'小伟':93,'小芳':88}]print(scores[1]['小强'])#先定位到列表偏移量为1的元素,即第二个字典,再取出字典里键为'小强'对应的值,即99。
例: 1.打印出字典students里的小刚 2.打印出列表scores里小刚的分数100
students = {'第一组':['小明','小红','小刚','小美'],'第二组':['小强','小兰','小伟','小芳']}scores = [{'小明':95,'小红':90,'小刚':100,'小美':85},{'小强':99,'小兰':89,'小伟':93,'小芳':88}]print(students['第一组'][2])print(scores[0]['小刚'])
