列表切片练习题

您所在的位置:网站首页 python切片增加元素 列表切片练习题

列表切片练习题

#列表切片练习题| 来源: 网络整理| 查看: 265

d2289467533468c054bc21e4ad84786e.png 第5节课程大纲 一、数据类型:列表 1、什么是列表 2、从列表提取单个元素:偏移量 3、从列表提取多个元素:冒号切片 4、给列表增加/删除元素:append()函数 二、数据类型:字典 1、什么是字典 2、给字典增加/删除元素 三、列表和字典的异同 1、列表和字典的不同点 一、数据类型:列表

aa8cd99e7c9a238a00a7c046ebaaa812.png

列表和字典,可以帮我们存储大量数据,让计算机去读取和操作

1.1 什么是列表

381d1651057f3b251947aaf89f80cc13.png 列表的代码格式 图中的['小明','小红','小刚']就是一个列表。一个列表需要用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。列表很包容,各种类型的数据(整数/浮点数/字符串)无所不能包。 #创建一个列表名为list1的列表,并将其打印 list1 = ['小明',18,1.70] print(list1) #运行结果:['小明', 18, 1.7] 1.2 从列表提取单个元素:偏移量

偏移量:列表中的各个元素,好比教室里的某排学生那样,是有序地排列的,也就是说,每个元素都有自己的位置编号(即偏移量)。

185ad607876688583dda44277bc47647.png

1.偏移量是从0开始的,而非我们习惯的从1开始;

2.列表名后加带偏移量的中括号,就能取到相应位置的元素。

#请小明来回答问题 students = ['小明','小红','小刚'] print(students[0]+'请回答问题') #运行结果:小明请回答问题 1.3 从列表提取多个元素:冒号切片

切片:用冒号来截取列表元素,就是将列表的某个片段拿出来处理。这种切片的方式可以让我们从列表中取出多个元素。

#列表切片提取多个元素 list2 = [5,6,7,8,9] print(list2[:]) # 打印出[5,6,7,8,9] print(list2[2:]) # 打印出[7,8,9] print(list2[:2]) # 打印出[5,6] print(list2[1:3]) #打印出[6,7] print(list2[2:4]) #打印出[7,8]

切片口诀:左右空,取到头,左要取,右不取

即:冒号左边空,就要从偏移量为0的元素开始取;右边空,就要取到列表的最后一个元素。后半句:冒号左边数字对应的元素要拿,右边的不动。

⚠️偏移量取到的是列表中的元素,而切片则是截取了列表的某部分,所以还是列表, students = ['小明','小红','小刚'] print(students[2]) #运行结果:小刚 print(students[2:]) #运行结果:['小刚'] 1.4 给列表增加/删除元素:append()函数&del语句

增加元素:append()函数,格式:列表名.append( )

用append()给列表增加元素,每次只能增加一个元素append函数并不生成一个新列表,而是让列表末尾新增一个元素。而且,列表长度可变,理论容量无限,所以支持任意的嵌套。 list3 = [1,2] list3.append(3) #list3.append(4,5) 使用错误 list3.append([4,5]) print(list3) #运行结果:[1, 2, 3, [4, 5]] 列表中的元素可以是字符串、数字等,也可以是列表本身(即列表内部支持嵌套)append()函数后的参数只要满足数量为一即可(单个列表也会视作一个元素)append()后的函数,会添加在列表的末尾

删除元素:del语句,格式:del 列表名[元素的索引]

既能删除一个元素,也能一次删除多个元素(原理和切片类似,左取右不取)

56cf7c35782b7579a17ba404f8a34de9.png 官方文档对del语句的注释 1.5 总结

ce493bc0a8388bd2b6da88f024e36c2b.png 二、数据类型:字典 2.1 什么是字典

5bcb62394cf282053509005687699a3a.png

字典与列表的相同:1.有名称;2.要用=赋值;3.用逗号作为元素间的分隔符。

字典与列表的不同:

1.列表外层用的是中括号[ ],字典的外层是大括号{ };

2.列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接,如'小明':95。其中我们把'小明'叫键(key),95叫值(value),这样唯一的键和对应的值形成的组合,我们就叫做【键值对】。

students = ['小明','小红','小刚'] #列表 scores = {'小明':95,'小红':90,'小刚':90} #字典 print(len(students)) #len()函数可以得出一个列表或者字典的长度(元素个数) print(len(scores)) ⚠️字典中的键具备唯一性,而值可重复。也就是说字典里不能同时包含两个'小明'的键,但却可以有两个同为90的值。 #打印出小明的成绩 scores = {'小明': 95, '小红': 90, '小刚': 90}#3个键值对 print(scores['小明']) #print(字典名[字典的键]),字典的索引是键,列表的索引是偏移量 2.2 给字典增加/删除元素:赋值语句&del语句

新增:字典名[键] = 值

删除:del 字典名[键]

album = {'周杰伦':'七里香','王力宏':'心中的日月'} del album['周杰伦'] #删除:del 字典名[键] print(album) #运行结果:{'王力宏': '心中的日月'} album['周杰伦'] = '十一月的萧邦' #新增:字典名[键] = 值 print(album) #运行结果:{'王力宏': '心中的日月', '周杰伦': '十一月的萧邦'} print(album['周杰伦']) #运行结果:十一月的萧邦 scores = {'小明':95,'小红':90,'小刚':90} #新增小美考试成绩85分 scores['小美']=85 print(scores) #将小刚成绩修改为92分 方法一:del语句 del scores['小刚'] #只需要修改键里面的值,可不需要del语句,del语句通常是用来删除确定不需要的键值对 scores['小刚']=92 print(scores) #将小刚成绩修改为92分 方法二:赋值语句 scores['小刚']=92 print(scores) 2.3 总结

8d212a03a1212757eda31021ad9f0369.png 三、列表和字典的异同 3.1 列表和字典的不同点

列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表。即:列表有序,要用偏移量定位;字典无序,便通过唯一的键来取值。

# 如果==左右两边相等,值为True,不相等则为False。 print(1 == 1) # 1等于1,所以值为True print(1 == 2) # 1不等于2,所以为False students1 = ['小明','小红','小刚'] students2 = ['小刚','小明','小红'] print(students1 == students2) #列表元素有序排列,有偏移量概念,值为False scores1 = {'小明':95,'小红':90,'小刚':100} scores2 = {'小刚':100,'小明':95,'小红':90} print(scores1 == scores2) #字典元素随机排列,值为True 3.2 列表和字典的相同点

第一个共同点:在列表和字典中,如果要修改元素,都可用赋值语句来完成。

list1 = ['小明','小红','小刚','小美'] list1[1] = '小蓝' print(list1) dict1 = {'小明':'男'} dict1['小明'] = '女' print(dict1)

第二个共同点:支持任意嵌套。除之前学过的数据类型外,列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。

情况一:列表嵌套列表 #列表嵌套列表 students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']] #一层一层取出小芳,小芳是students[1]列表里的第三个元素 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、把列表list1中的'love'取出来,并打印出来

list1 = [{'嫉妒':'envy'},{'恨':'hatred'},{'爱':'love'}] print(list1[2]['爱']) # 第一步:取出列表中的第三个元素(list1[2]),字典{'爱':'love'}; # 第二步:取出list1[2]中键'爱'所对应的值,即'love’(list1[2]['爱'])。

2、把字典dict1中的'love'取出来,并打印出来。

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])。

3、将tuple1中的A和list2中的D打印出来

#新的数据类型:元组(tuple)。 可以看到:元组和列表很相似,不过,它是用小括号来包的。 #元组和列表都是序列,提取的方式也是偏移量,如 tuple1[1]、tuple1[1:]。另外,元组也支持任意的嵌套。 tuple1 = ('A','B') list2 = [('A','B'),('C','D'),('E','F')] print(tuple1[0]) print(list2[1][1]) # 从代码里,也可看出:1.元组内数据的提取也是用偏移量;2.元组也支持互相嵌套。

4、把列表中的“狼”取出来,并打印出来

townee = [ {'海底王国':['小美人鱼''海之王''小美人鱼的祖母''五位姐姐'],'上层世界':['王子','邻国公主']}, '丑小鸭','坚定的锡兵','睡美人','青蛙王子', [{'主角':'小红帽','配角1':'外婆','配角2':'猎人'},{'反面角色':'狼'}] ] print(townee[5][1]['反面角色']) #运行结果:狼

学习时间:2020年3月11日

1e41298f7a268bc3e6ec6606f54e0be8.png


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3