Python 数据类型2
一、字节类型
1、字节介绍
在 Python3 以后,字符串 和 bytes 类型彻底分开了。字符串 是以 字符 为单位进行处理的,
bytes 类型是以 字节 为单位处理的。
bytes 数据类型在所有的操作和使用甚至内置方法上和字符串数据类型基本一样,也是不可
变的序列对象。
Python3 中,bytes 通常用于网络数据传输、二进制图片和文件的保存等等。
2、字节创建
可以通过调用 bytes() 生成 bytes 实例,其值形式为 b'xxxxx'。
对于同一个字符串如果采用不同的编码方式生成 bytes 对象,就会形成不同的值。
例如:
bt_1 = b'hello world'
bt_2 = bytes('hello world', encoding='utf-8')
print(bt_1) # 输出结果为b'hello world',类型为'bytes'
print(bt_2) # 输出结果为b'hello world',类型为'bytes'
3、字节与字符串的转换
bytes --> str bytes.decode()
例如:
bt_1 = b'hello world'
print(bt_1.decode())
str --> bytes S.encode()
例如:
bt_1 = 'hello world'
print(bt_1.encode())
二、列表
1、列表介绍
列表是 Python 中最基本也是最常用的数据结构之一,它是一个
有序可重复的元素集合。从数据结构角度看,Python 的列表是一个
可变长度 的顺序存储结构,每一个位置存放的都是对象的指针。
2、列表创建
创建一个列表,只要把逗号分隔的不同的数据元素使用方括号括起来即可
例如:
li_1 = []
li_2 = [1, 'hello', 4, arm]
还可以直接通过 list() 来进行创建列表。
list() # 输出结果:[]
list(iterable)
list('hello') # 输出结果:['h', 'e', 'l', 'l', 'o']
注意:变量名最好不使用 list
列表里的 元素 可以是 任意类型
iterable 表示 可迭代的对象,简单来说就是可以一个一个元素取出来的。
3、访问(查)列表内的元素
列表 从0开始 为它的每一个元素顺序创建 下标索引,直到 总长度减一 。要访问
它的某个元素,以方括号加下标值的方式
例如:li = [1,2] li[0]=1 li[1]=2
4、修改列表内的元素
直接 取出元素 进行 重新赋值
例如:li = ['a', 'b', 'c', 'd', 'e', 'f']
li[2] = 'D'
print(li)
5、删除列表内的元素
直接 取出元素,再通过 del语句 或者 list.remove() 或者 list.pop() 进行删除
6、列表的特殊操作
列表相加,成员判断,与整数相乘,迭代
7、常用内置函数
返回长度len(),返回最小值min(),返回最大值max()
8、列表的排序与反转
将列表反转list.reverse(),排序,默认升序list.sort(reverse=Fasle)
9、列表的切片
切片模式:
a[start:stop:step]
起始 结束 步长
思考:li = [1,2,3,4,5,6,7] 取 [2,3,4] 以及取出 [2,4,6]
li = [1, 2, 3, 4, 5, 6, 7]
print(li[1:4:1])
print(li[1::2])
三、元组
1、元组的介绍
用方括号括起来的是列表,那么用圆括号括起来的就是元组
元组也是序列结构,但是是一种不可变序列,你可以简单的理解为内容不可变
的列表。除了在内部元素不可修改的区别外,元组和列表的用法相似。
a = ()
2、元组与列表相同的操作
1)使用方括号加下标访问元素
2)切片(形成新元组对象)
3)tuple.count()元素出现次数/tuple.index()元素所在的索引值
4)len()/max()/min()
3、元组中不允许的操作
1)修改、新增元素
2)删除某个元素(但可以删除整个元组)
3)所有会对元组内部元素发生修改动作的方法。例如,元组没有sort,remove,append,
pop等方法
例如:把元组按顺序排列
a = ('a', 'e', 'c', 'd', 'c', 'f')
print(sorted(a))
4、列表和元组的转换
使用list函数可以把元组转换成列表
例如:
a = ['a', 'b', 'c', 'd']
print(tuple(a))
使用tuple函数可以把列表转换成元组
例如:
a = ('a', 'b', 'c', 'd')
print(list(a))