Python小白学习笔记 《4.列表、元组和字典》
前面学的几种类型,每次赋值只能保存一条数据。
如果我们需要使用很多数据的时候,就会很不方便。而列表、元组和字典的作用,就是可以帮我们存储大量数据,让计算机去读取和操作。
0.列表
0.0什么是列表
用我最爱的粉墨来做例子嘻嘻嘻:
BlackPink = ['Jisoo','Jennie','Rose','Lisa']
图中的[‘Jisoo’,‘Jennie’,‘Rose’,‘Lisa’]就是一个列表。
一个列表需要用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作“元素”。
每个元素之间都要用英文逗号隔开。这就是列表的标准格式。
0.1从列表提取单个元素
从列表中提取单个元素,涉及到一个新的知识点:偏移量。
列表中的各个元素,是有序地排列的,每个元素都有自己的位置编号(即偏移量)。
打印‘Lisa我爱你!’:
BlackPink = ['Jisoo','Jennie','Rose','Lisa']
print(BlackPink[3]+'我爱你!')
#‘Lisa的位置从Jisoo(第0个)开始数是第3个’
终端:
1.偏移量是从0开始的,而非我们习惯的从1开始;
2.列表名后加带偏移量的中括号,就能取到相应位置的元素。所以,我们可以通过偏移量来对列表进行索引(可理解为搜索定位),读取我们所需的元素。
0.2从列表提取多个元素
从列表提取多个元素,将列表的某个片段拿出来处理,叫做切片,这种切片的方式可以让我们从列表中取出多个元素。
BlackPink = ['Jisoo','Jennie','Rose','Lisa']
print(BlackPink[:])
# 打印出['Jisoo','Jennie','Rose','Lisa']
print(BlackPink[2:])
# 打印出['Rose','Lisa']
print(BlackPink[:2])
# 打印出['Jisoo','Jennie']
print(BlackPink[1:3])
#打印出['Jennie','Rose']
由上面代码可推出规律:
冒号左边空,就要从偏移量为0的元素开始取;
右边空,就要取到列表的最后一个元素;
冒号左边数字对应的元素要拿,右边的不动。
0.3给列表增加/删除元素
0.3.0 append( )函数
list = [1,2]
list.append(3)
print(list)
#打印结果: [1,2,3]
list.append([4,5])
print(list)
#打印结果:[1,2,3,[4,5]]
由上面代码可知:
列表中的元素可以是字符串、数字等,也可以是列表本身;
append函数后的参数只要满足数量为1即可(单个列表也视为一个元素);
append后的元素,会添加在列表的末尾。
0.3.1del()语句
del()语句可以根据索引而不是值从列表中删除一个元素。
list = [1,2,3]
del list[0]
print(list)
#打印结果为 :[2,3]
del语句非常方便,既能删除一个元素,也能一次删除多个元素(原理和切片类似,左取右不取)。
1.元组
元组的元素可以直接赋值给多个变量,但变量数必须与元素数量一致。
a, b, c = (1, 2, 3)
d = ('a', 'b', 'c')
print(a)
#1
print(b)
#2
print(c)
#3
print(d)
#('a', 'b', 'c')
元组不可以修改、删除元素
2.字典
2.0什么是字典
字典长这样:
dic = {'key1' : 'value1', 'key2' : 'value2' }
仔细看下,字典和列表有3个地方是一样的:
1.有名称;
2.要用=赋值;
3.用逗号作为元素间的分隔符。
而不一样的有两处:
1.列表外层用的是中括号[ ],字典的外层是大括号{ };
2.列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。
这样唯一的键和对应的值形成的组合,叫做【键值对】,上述字典就有2个【键值对】
2.1从字典中提取元素
从字典中提取对应的值的用法,和列表相似的是要用[ ],不过因为字典没有偏移量,所以在中括号中应该写键的名称,即字典名[字典的键]。
dic = {'key1' : 'value1', 'key2' : 'value2' }
print(dic[key1])
#终端结果: value1
2.2给字典增加/删除元素
dic = {'key1' : 'value1', 'key2' : 'value2' }
del dic['key1']
print(dic)
#打印结果:{'key2' : 'value2' }
dic ['key1'] = 'value3'
print(dic)
#打印结果: dic = {'key1' : 'value3', 'key2' : 'value2' }
print(dic['key1'])
#打印结果: value3
删除字典里键值对的代码是del语句del 字典名[键],
而新增键值对要用到赋值语句字典名[键] = 值