文章目录
字节
- 在 Python3 以后,字符串和bytes类型彻底分开了。字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的。
- bytes数据类型在所有的操作和使用甚至内置方法上和字符串数据类型基本一样,也是不可变的序列对象。
- Python3 中,bytes通常用于网络数据传输、二进制图片和文件的保存等。
字节的创建
- 可以通过调用 bytes() 生成 bytes 实例,其值形式为 b’xxxxx’ ,对于同一个字符串如果采用不同的编码方式生成 bytes 对象,就会形成不同的值。
字节与字符串转换
- 字节转换字符串:bytes.decode()
- 字符串转换字节:S.encode()
列表
- 列表是Python中最基本也是最常用的数据结构之一,它是一个有序可重复的元素集合。从数据结构角度看,Python的列表是一个可变长度的顺序存储结构,每一个位置存放的都是对象的指针。
- 我们可对列表进行 修改、切片、追加、删除、嵌套、迭代、成员判断 等操作。
列表的创建
- 创建一个列表,只要把逗号分隔的不同的数据元素使用方括号括起来即可。
- 除此之外,我们还可以直接通过 list() 来进行创建列表。
需要注意的是:
1.变量名最好不使用 list。
2.列表里的 元素 可以是 任意类型。
3.iterable 表示 可迭代的对象,简单来说就是可以一个一个元素取出来的。
访问(查)列表内的元素
- 列表从0开始为它的每一个元素顺序创建下标索引,直到总长度减一。要访问它的某个元素,以方括号加下标值的方式即可。
- 注意要确保索引不越界,一旦访问的索引超过范围,会抛出异常。所以,一定要记得最后一个元素的索引是 len(list)-1。
修改列表内的元素
增加列表内的元素
1.在表头添加:insert(0,“xxxxx”)
2.在列表中任意位置插入使用方法:insert(x,‘xxxxxx’),第一项为插入位置,第二项为插入内容。
3.在末尾添加使用方法append()
删除列表内的元素
1.del语句:删除任意位置的列表元素,但是要知道该元素的索引,不然容易删错。
注意:del语句删除是源删除,删除该元素后原列表就不存在该元素了
2.pop()方法:删除列表中末尾的元素,并可以继续使用该元素的值;注意,因为pop()是方法,所以直接在()里面指定要删除的元素索引号即可;pop()方法和del语句的不同:pop是在删除元素后还要继续使用该元素,但是如果想删除列表的一个元素并不想再使用该元素就用del语句。
3.使用remove()方法根据元素值删除:知道自己要删除的元素的值,但是不知道该元素的位置,使用remove()方法。
注意:如果列表中存在相同的元素值多个,remove()方法只删除第一个元素,如果要删除所有的相同的元素就需要使用循环。
改变列表内的元素
使用“查”找到需要更改的位置的元素值,然后赋值直接更改;
列表的特殊操作
列表相加
列表相加不是相应位置相加,而是拼接
列表与整数相乘
是将列表扩展到相应倍数,列表与列表不能相乘。
列表内的元素迭代
列表的成员判断
常用函数
- len(list):返回列表长度
- max(list):返回列表的最大值
- min(list):返回列表的最小值
- ist.count(x):统计x出现次数
- list.append():添加对象到列表末尾
- list.extend():扩展另一个列表到列表末尾
- list.pop():删除对象,默认为最后一个值
- list.remove():删除匹配项,只删除第一个匹配项
- list.insert():插入对象
- list.copy:复制列表
列表的切片
- 切片操作不是列表特有的,python中的有序序列都支持切片,如字符串,元组。
- 切片的返回结果类型和切片对象类型一致,返回的是切片对象的子序列,如:对一个列表切片返回一个列表,字符串切片返回字符串。
- 切片生成的子序列元素是源版的拷贝。因此切片是一种浅拷贝。
- li=[“A”,“B”,“C”,“D”]
格式: li[start : end : step]
start是切片起点索引,end是切片终点索引,但切片结果不包括终点索引的值。step是步长默认是1。
元组
- Python 的元组与列表类似,不同之处在于元组的元素不能修改。
- 元组使用小括号 ( ),列表使用方括号 [ ]。
- 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
- 元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
- 元组可以使用下标索引来访问元组中的值。
- 元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。
- 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
- 与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
- 因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截。
元组的内置函数
方法 | 描述 |
---|---|
len(tuple) | 计算元组元素个数 |
max(tuple) | 返回元组中元素最大值。 |
min(tuple) | 返回元组中元素最小值。 |
tuple(iterable) | 将可迭代系列转换为元组。 |