本文主要介绍python列表和字典的常用知识点:增、删、改、查。
一、列表
1.1 提取元素
两种取法:一个是取单个值,一个是取切片。
不同点:
取值直接使用:【列表名[索引值]】,取到的值的数据类型是元素的数据类型;
切片的格式:【列表名[左索引值 : 右索引值]】(中间用冒号进行隔开),取得的切片的数据类型还是列表。
- list2 = [5,6,7,8,9]
-
- # 取值,没有冒号
- print(list2[2]) # 结果为:7
- print(type(list2[2])) # 结果为:<class 'int'>
-
- # 取切片,带冒号
- # 左边空,取到头,从第0位开始,取n个元素。
- print(list2[0:2]) # 打印出[5,6],共取2个元素
- print(list2[:2]) # 打印出[5,6]
- print(type(list2[:2]))# 结果为:<class 'list'>
-
- # 右边空,表示从第m个元素开始取到尽头,即最后一位;
- print(list2[2:]) # 打印出[7,8.9]
-
- # 冒号两边空,表示从第0位到最后一位,取整一个列表,相当于复制。
- print(list2[:]) # 打印出[5,6,7,8,9]
- print(list2[0:5]) # 打印出[5,6,7,8,9]
-
- # 冒号左右都有数字时,表示从第m个元素开始取,取到第(n-1)个。共取出(n-m)个元素。
- print(list2[1:3]) # 打印出[6,7]
- print(list2[2:4]) # 打印出[7,8]
切片小结:取法口诀:左取右不取,空则取到头。(假设n>m>0)
(1)[ :n],冒号左边空(或者为0),,表示从头,即第0位开始,取到第(n-1)个元素,共取n个元素;
(2)[m:],右边空,,表示从第m个元素开始取到尽头,即最后一位;
(3)[ : ],冒号两边空,,表示从第0位到最后一位,取整一个列表,相当于复制。
(4)[m : n],冒号左右都有数字时,,表示从第m个元素开始取,取到第(n-1)个。共取出(n-m)个元素。
1.2 增加元素
语法:【列表名.append()】。注意这里是 .
append后的括号里只能接受一个参数,结果是让列表末尾新增一个元素。
- list3 = [1,2]
- list3.append(3)
- print(list3) #结果为:[1,2,3]
-
-
- list3.append([4,5])
- print(list3) #结果为:[1,2,3,[4,5]]
- #添加‘[4,5]’这个列表,也就是append()的参数为一个列表,也是一个参数
但是append(4,5)会报错,因为给了两个元素。
注意!!如果使用 a=list3.append(3),这样a是赋值None,这是因为append()函数没有返回值,默认为None。
若要增加多个元素,可使用extend()函数,用法同append(),可传入多个值,如:
- list3 = [1,2]
- list3.extend([4,5])
- #结果为:
- #[1,2,4,5]
1.3 删除元素
语法:【del 列表名[元素的索引值]】 。注意这里是空格不是 .
与append()函数类似,能删除单个元素、多个元素(切片)、整个列表。
比如:
- # 删除 小红
- students = ['小明','小红','小刚','小强']
- del students[1]
- print(students)
- # ['小明', '小刚', '小强']
1.4 修改元素
语法:【列表名[旧值的索引值]=新值】
使用偏移量修改对应位置的元素。
- list1 = ['小明','小红','小刚','小强']
- list1[1] = '小黑'
- print(list1)
- #结果显示
- #['小明','小黑','小刚','小强']
1.5 列表除了正向取值,还有负向取值。
students = ['a','b','c','d']
该列表对应的正负向索引值为:
‘a’ |
‘b’ |
‘c’ |
‘d’ |
|
正向索引 |
0 |
1 |
2 |
3 |
负向索引 |
-4 |
-3 |
-2 |
-1 |
注意:正向索引是从左到右,从0开始计算;负向索引是从右到左,从-1开始。
负向的取值和切片的取法同正向。
二、字典
2.1 提取元素
字典没有偏移量,所以在提取元素时,中括号中应该写键的名称,即字典名[字典的键]。提取出来的是key对应的value,而不会显示键的数据!
- scores = {'小明': 95, '小红': 90, '小强': 90}
- print(scores['小明'])
- #结果显示
- #95
2.2 新增元素
语法:字典名[键] = 值
每次只能新增一个键值对。scores[‘小刚’,’小美’]=92,85,这样是不对的,最终会输出(‘小刚’,’小美’:(92,85))作为一个键值对。
- album = {'周杰伦':'七里香'}
- album['王力宏'] ='心中的日月'
- album['林俊杰'] = '小酒窝'
- print(album)
- print(album['周杰伦'])
- #结果显示
- #{'周杰伦':'七里香','王力宏':'心中的日月','林俊杰':'小酒窝'}
- #七里香
2.3 修改元素
语法:字典名[键] = 值(同新增)
如果不是整个键值对都不需要,只需要改变对应key下的value,修改就可以,不需要del。
- dict1 = {'小明':'男'}
- dict1['小明'] = '女'
- print(dict1)
- #字典没有偏移量,只能通过key找到元素位置
拓展:若要增加多个元素,可使用update()函数,用法同append(),可将新字典中所有键值对全部添加到旧字典对象上。如果 key 有重复,以update()中的为准,覆盖原有值。
- a = {'小明':95,'小红':90}
- b = {'小强':90}
- c = {'小红':90,'小强':92}
- a.update(b)
- print(a) # 结果为:{'小明': 95, '小红': 90, '小强': 90}
- b.update(c)
- print(b) # 结果为:{'小强': 92, '小红': 90}
2.4 删除元素
语法:del 字典名[键]
- album = {'周杰伦':' Mojito','王力宏':'心中的日月'}
- del album['王力宏']
- print(album)
- #结果显示
- #{'周杰伦':' Mojito'}
三、最后总结一下
这两个“容器”的格式、增删改查等用法。具体汇总如下:
列表 |
字典 |
|
基本格式 |
中括号、逗号, 如[‘小明’,17,5.2] |
大括号、键值对(冒号)、逗号, 如{‘小明’:95,’小红’:90,’小刚’:90} |
取值 |
使用偏移量,格式:【列表名[偏移量]】 正向从0开始计算。 |
使用键,格式:【字典名[键]】 没有偏移量 |
增加元素 |
列表名.append() |
字典名[键] = 值 |
修改元素 |
列表名[旧值的索引值]=新值 |
字典名[键] = 新值(同新增元素) |
删除元素 |
del 列表名[元素的索引] (空格隔开) |
del 字典名[键](空格隔开) |
区别 |
列表有偏移量,通过偏移量对元素值进行操作 |
字典有键值对,通过键对值进行操作 |
注意:所有的符号都是英文符号!
时间比较仓促,先整理这么多~~