回顾:
列表:
什么是列表
例:创建一个列表名为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['小刚'] = 92
scores['小美'] = 85
print(scores)
总结:
列表和字典的不同点
一个很重要的不同点是列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表。
# 如果==左右两边相等,值为True,不相等则为False。
print(1 == 1)
# 1等于1,所以值为True
print(1 == 2)
# 1不等于2,所以为False
students1 = ['小明','小红','小刚']
students2 = ['小刚','小明','小红']
print(students1 == students2)
scores1 = {'小明':95,'小红':90,'小刚':100}
scores2 = {'小刚':100,'小明':95,'小红':90}
print(scores1 == scores2)
#结果
True
False
False
True
列表和字典的相同点
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]['小刚'])