课程⽬标
1. 熟练掌握列表、字典中元素的增删改查
2. 理解列表和字典的区别
课程难点
1. 列表与字典增删改查的异同
2. 正确使⽤切⽚,深刻理解切⽚时冒号左右数字的意义

课程重要内容
⼀、列表
语法格式
数据存储在中括号[]⾥,⽤逗号隔开并使⽤等号赋值给列表。中括号⾥⾯的每⼀个数据
叫作“元素”。
列表中的元素是有⾃⼰明确的“位置”的,元素相同,在列表中排列顺序不同,就是两个
不同的列表。
列表中字符串、整数、浮点数都可以存储。

list1 = ['小明',17,5.2]

提取元素
偏移量:元素在列表中的编号。
偏移量是从0开始的;
列表名后加带偏移量的中括号,就能取到相应位置的元素。
结果是⼀个元素
切⽚:⽤冒号来截取列表元素的操作。
冒号左边空(或者为0), :m,表示从头取m个元素;
右边空(或者为0),n: ,跳过前n个元素把剩下的取完;
冒号左右都有数字时,n:m,表示跳过前n个元素,取到第m个。(取出前m个元素中
除了前n个后剩下的那些)

切⽚截取了列表的⼀部分,所以得到的结果仍然是⼀个列表。(即使只有⼀个元素,也
是在列表⾥的,要与⽤偏移量取单个元素的⽅法区别开)

students 1 = ['小明','小红','小刚']
students[2]
 # 使用偏移量提取单一元素,结果显示:
# 小刚
 print(students[2:])
# 使用切片,即使结果仍然只有一个元素,但显示为列表:
# ['小刚']

特别地,a,b,c=students,也可以提取出列表中的元素,变量分别⽤逗号隔开,且变量
的数量与列表元素个数⼀致,⼀⼀对应,最终列表元素会分别赋值给变量,例如:

appetizer = ['话梅花生','拍黄瓜','凉拌三丝']
a,b,c = appetizer
print(a)
print(b)
print(c)
print(a,b,c)
#结果显示为
#话梅花生
#拍黄瓜
#凉拌三丝
#话梅花生 拍黄瓜 凉拌三丝

增加/删除元素
增加元素
列表名.append()
注意这⾥是.不是空格!append后的括号⾥只能接受⼀个参数,结果是让列表末尾新增
⼀个元素。列表⻓度可变,理论容量⽆限,所以⽀持任意的嵌套。

list3 = [1,2]
#添加‘3’这个元素
list3.append(3)
print(list3)
#结果显示:
#[1,2,3]
list3.append(4,5)
list3.append([4,5])
print(list3)
# 添加[4,5]这个列表,也就是append()的参数为一个列表,也是一个参数,所以不会报错
# 结果显示:
# [1,2,3,[4,5]]

但是append(4,5)会报错,因为给了两个元素(没有作为⼀个整体,所以算两个参数)。
注意!!!千万不能赋值:a=student.append(3),这样a⾥只有none。

删除元素
del 列表名[元素的索引] 。
注意这⾥是空格不是.!因为del是语句,是命令。
与append()函数类似,能删除单个元素、多个元素(切⽚)、整个列表。

修改元素
使⽤偏移量修改对应位置的元素。

list1 1 = ['小明','小红','小刚','小美']
list1[1]='小蓝'
print(list1)
# 结果显示
# ['小明','小蓝','小刚','小美']

⼆、字典
字典所存储的两种数据若存在⼀⼀对应的情况,⽤字典储存会更加⽅便。唯⼀的键和对
应的值形成的整体,我们就叫做【键值对】。键具备唯⼀性,⽽值可重复。
语法格式

  • 字典外层是⼤括号{},⽤等号赋值;
  • 列表中的元素是⾃成⼀体的,⽽字典的元素是由键值对构成的,⽤英⽂冒号连接。

有多少个键值对就有多少个元素。如’⼩明’:95,其中我们把’⼩明’叫键(key),95
值(value)

  • 键值对间⽤逗号隔开
  • 字典中数据是随机排列的,调动顺序也不影响。所以列表有序,要⽤偏移量定位;

字典⽆序,便通过唯⼀的键来定位。(注:len()函数⽤于获取数据⻓度)

students = ['小明','小红','小刚']
scores = {'小明':95,'小红':90,'小刚':100}
print(len(students))
print(len(scores))
#结果显示
#3
#3
#字典的元素个数,数冒号就行了

提取元素
  字典没有偏移量,所以在提取元素时,中括号中应该写键的名称,即字典名[字典的
键]。提取出来的是key对应的value,⽽不会显示键的数据!
增加

scores = {'小明': 95, '小红': 90, '小刚': 90}
scores['小明']
# 结果显示
# 95

增加/删除元素
新增元素
字典名[键] = 值。
每次只能新增⼀个键值对。scores[‘⼩刚’,’⼩美’]=92,85,这样是不对的,最终会输出
(‘⼩刚’,’⼩美’:(92,85))作为⼀个键值对。

# 原字典
album = {'周杰伦':'七里香'}
# 新增一个键值对
album['林俊杰'] = '小酒窝'
# 增加后打印效果
print(album)
# 结果: {'周杰伦':'七里香','林俊杰':'小酒窝'}
# 通过键访问
print(album['周杰伦'])
# 结果: 七里香

删除元素
del 字典名[键]
修改

album = {'周杰伦':'七里香','王力宏':'心中的日月'}
del album['周杰伦']
print(album)
# 结果显示
# {'王力宏':'心中的日月'}

修改元素
如果不是整个键值对都不需要,只需要改变对应key下的value,修改就可以,不需
要del。

dict1 = {'小明':'男'}
dict1['小明'] = '女'
# 字典没有偏移量,只能通过key找到元素位置。蔡明也是小明,嘿嘿改为"女"
print(dict1)
# 结果显示
# {'小明': '女'}

三、列表与字典的嵌套
列表嵌套列表
列表中有两个列表元素,[1]表示取第⼆个元素(列表),[2]表示取第⼆个元素中
的第三个元素(偏移量为2)。

student=[['小红','小黄','小橙'],['小绿','小蓝','小紫','小青']]
print(student[1][2])
#结果显示为
#小紫

字典嵌套字典
字典中存储了两个字典,所以提取数据时只能⽤key值。

scores={'第一组':{'小明':95,'小红':96},'第二组':{'小刚':94,'小青':99}}
print(scores['第一组']['小红'])
#结果显示:
#96

列表嵌套字典
从外到内开始分析,最外层是列表,因此使⽤偏移量来获取⾥⾯到元素。 元素的数据
类型是字典。
如下: 学⽣信息是⼀个个字典,其中包含名字班级等信息,构造成⼀个学⽣表students列表

student_1 = {'姓名':'小明', '兴趣':'篮球', '成绩':'优秀', '学号': 13}
student_2 = {'姓名':'小刚', '兴趣':'羽毛球', '成绩': '中等', '学号': 115}
student_3 = {'姓名':'小蔡', '兴趣':'乒乓球', '成绩': '良好', '学号': 150}
students = [student_1, student_2, student_3]
# 每位同学的成绩获取
level_ming = students[0]['成绩']
level_gang = students[1]['成绩']
level_cai = students[2]['成绩']

  

  

                                                                                                    ————————————更新于2021.5.23 

  

  

  

  

  

  

  

  

版权声明:本文为gujiakai-top原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gujiakai-top/p/14802089.html