文章目录
python容器类型的数据
一、序列
特点:可迭代的、元素有序的
序列包括列表(list)、字符串(str)、元组(tuple)和字节序列(bytes)等。
1.索引操作
序列中的元素都是有序的,每一个元素都带有序号,这个序号叫作
索引。索引有正值索引和负值索引之分。
可以当作数组一样去理解,只不过这个可以负值索引
2.加乘操作
加(+)和乘()运算符也可以用于序列中的元素操作。加(+)运算符可以将两个序列连接起来,乘()运算符可以将两个序列重复多次。
3.切片操作
序列的切片(Slicing)就是从序列中切分出小的子序列。
切片运算符的语法形式为[start:end:step]。
其中,start是开始索引,end是结束索引,step是步长(切片时获取的元素的间隔,可以为正整数,也可以为负整数)。
注意:切下的小切片包括start位置的元素,但不包括end位置的元素,start和end都可以省略。
下面对字符串变量a进行切片操作[1:3],开始索引为1,结束索引为3,省略步长(默认值为1)。
在python shell中运行试试效果
下面对字符串变量a进行切片操作[0:3:2],开始索引为0,结束索
引为3,步长为2
步长理解:在start和end截取的这段字符串中操作,从头开始,步长为1就start、start+1、…这样获取元素;步长为2就start、start+2、start+4、…这样获取元素。以此类推。
4.成员测试
比较简单的知识点。
成员测试运算符有两个:in和not in,in用于测试是否包含某一个元素,not in用于测试是否不包含某一个元素。
二、列表
列表(list)是一种可变序列类型,我们可以追加、插入、删除和替换列表中的元素。
1.创建列表
两种方法:
1 list(iterable)函数:参数iterable是可迭代对象(字符串、列表、元组、集合和字典等)。
2 [元素1,元素2,元素3,⋯]:指定具体的列表元素,元素之间以逗号分隔,列表元素需要使用中括号括起来。
示例:
2.追加元素
列表是可变的序列对象,列表可以追加元素。
1 在列表中追加单个元素时,可以使用列表的append(x)方法。
2 在列表中追加多个元素时,可以使用加(+)运算符或列表的extend(t)方法。
append(x)方法
extend(t)方法:
问:既然append(x)为方法,list(iterable)为函数,那函数和方法怎么区分呢?
答:方法属于类,通过类或对象调用方法,如list.append(x);而函数可以直接调用,如list(iterable)。
3.插入元素
想向列表中插入元素时,可以使用列表的list.insert(i,x)方法,其中,i指定索引位置,x是要插入的元素。
4.替换元素
想替换列表中的元素时,将列表下标索引元素放在赋值符号(=)的左边,进行赋值即可。
5.删除元素
想在列表中删除元素时,可使用列表的list.remove(x)方法,如果找到匹配的元素x,则删除该元素,如果找到多个匹配的元素,则只删除第一个匹配的元素。
三、元组
元组(tuple)是一种不可变序列类型。
1.创建元组
1.tuple(iterable)函数:参数iterable是可迭代对象(字符串、列表、元组、集合和字典等)。
2.(元素1,元素2,元素3,⋯):指定具体的元组元素,元素之间以逗号分隔。对于元组元素,可以使用小括号括起来,也可以省略小括号。
2.元组拆包
创建元组,并将多个数据放到元组中,这个过程被称为元组打包。
与元组打包相反的操作是拆包,就是将元组中的元素取出,分别赋值给不同的变量。
四、集合
集合(set)是一种可迭代的、无序的、不能包含重复元素的容器类
型的数据。
1.创建集合
两种方法:
1 set(iterable)函数:参数iterable是可迭代对象(字符串、列表、元组、集合和字典等)。
2 {元素1,元素2,元素3,⋯}:指定具体的集合元素,元素之间以逗号分隔。对于集合元素,需要使用大括号括起来。
2.修改集合
修改集合类似于修改列表,可以向其中插入和删除元素。
add(elem):添加元素,如果元素已经存在,则不能添加,不会抛出错误。
remove(elem):删除元素,如果元素不存在,则抛出错误。
clear():清除集合。
五、字典
字典(dict)是可迭代的、通过键(key)来访问元素的可变的容器类型的数据。
字典由两部分视图构成:键视图和值视图。键视图不能包含重复的元素,值视图能。在键视图中,键和值是成对出现的。
1.创建字典
两种方法:
1 、 dict()函数。
2 、{key1:value1,key2:value2,…,key_n:value_n}:指定具体的字典键值对,键值对之间以逗号分隔,最后用大括号括起来。
dict(((102,‘张三’),(105,’李四‘),(109,’王五‘)))
dict([(102,‘张三’),(105,’李四‘),(109,’王五‘)])
dict(zip([102,105,109],[‘张三’,‘李四’,‘王五’]))
2. 修改字典
字典可以被修改,但都是针对键和值同时操作的,对字典的修改包括添加、替换和删除。
3.访问字典视图
我们可以通过字典中的三种方法访问字典视图。
items():返回字典的所有键值对视图。
keys():返回字典键视图。
values():返回字典值视图。
总结
这几种容器类型都是可迭代的
序列元素是有序的,列表可变,元组不可变
集合元素无序,并且不可重复
字典通过键来访问数据,键和值是成对的,键值不能重复