python 第4关 列表和字典-收纳的艺术

2019-12-18  本文已影响0人  Fade1992

第4关 列表和字典-收纳的艺术

课程目标

1.熟练掌握列表、字典中元素的增删改查
2.理解列表和字典的区别

课程难点

1.列表与字典增删改查的异同
2.正确使用切片,深刻理解切片时冒号左右数字的意义

课程重要内容重现

一、列表

1.代码格式
students是列表名,数据存储在\color{red}{中括号[]}里,用逗号隔开并使用等号赋值给列表。中括号里面的每一个数据叫作“元素”。
列表中的元素是有自己明确的“位置”的,元素相同,在列表中排列顺序不同,就是两个不同的列表。
列表中字符串、整数、浮点数都可以存储。

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

1.提取元素
1)、偏移量:元素在列表中的编号。

切片截取了列表的一部分,所以得到的结果仍然是一个列表。(即使只有一个元素,也是在列表里的,与用偏移量取单个元素区别开)

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

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

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

1.增加/删除元素.

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

list3=[1,2]
list3.append(3)
print(list3)
#添加‘3’这个元素
#结果显示:
#[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) 如果想一起加两个元素 用expend

aList = [123, 'xyz', 'zara', 'abc', 123];
bList = [2009, 'manni'];
aList.extend(bList)

print "Extended List : ", aList ;
以上实例输出结果如下:
Extended List :  [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']

2)删除元素del列表名[元素的索引]。注意这里是空格不是.了!
与append()函数类似,能删除单个元素、多个元素(切片)、整个列表。
3)修改元素
使用偏移量修改对应位置的元素。

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

二、字典

1.代码格式

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

2.提取元素

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

3.增加/删除元素、

1)新增元素
字典名[键]=值。每次只能新增一个键值对。scores['小刚','小美']=92,85,这样是不对的,最终会输出('小刚','小美':(92,85))作为一个键值对。

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

2)删除元素
del字典名[键]

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

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

dict1={'小明':'男'}
dict1['小明']='女'
print(dict1)
#字典没有偏移量,只能通过key找到元素位置

三、列表与字典的嵌套

1.列表与列表
列表中有两个列表元素,[1]表示取第二个元素(列表),[2]表示取第二个元素中的第三个元素(偏移量为2)。

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

1.字典与字典
字典中存储了两个字典,所以提取数据时只能用key值。

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

1.列表与字典
使用偏移量从最外层括号到最内层括号取数。查找townee列表中的第六个元素中的第2个元素(一定是字典,因为之后用的是键值而不是偏移量)中key为'反面⻆色'的value。

townee=[
        {'海底王国':['小美人鱼''海之王''小美人鱼的祖母''五位姐姐'],'上层世界':['王子','邻国公主']},
          '丑小鸭','坚定的锡兵','睡美人','青蛙王子',
          [{'主角':'小红帽','配角1':'外婆','配角2':'猎人'},{'反面角色':'狼'}]]
print(townee[5][1]['反面角色'])
截屏2019-12-22下午11.03.35.png
上一篇下一篇

猜你喜欢

热点阅读