python基础数据类型(二) 最后更新时间:2023年12月01日 #### 1.字节 ##### 字节介绍 在python3以后,字符串和bytes类型彻底分开了。字符串是以字符为单位进行处理的,bystes是以字节为单位处理的。 bytes数据类型在所有的操作和使用,甚至内置方法上和字符串数据类型基本一样,也是不可变的序列对象。 在python3中,bytes通常用于网络数据传输、二进制图片和文件保存等。 ##### 字节的创建 创建字节可以使用bytes()方法创建,也可以在字符串前加上一个b来创建。 如果同一个字符串采用了不同的编码,那么bytes的值也不一样。 如: ```python str="sword art online" print(bytes(str,encoding="utf8"))#==>输出b'sword art online' ``` ##### 字节与字符串类型的转换 在实际的bytes和str转换中。我们通常会用到encode()方法和decode()方法。 分别用于编码和解码。 |转换|用法| |-|-| |bytes——>str|bytes.decode()| |str——>bytes|str.encode()| #### 2.列表 ##### 列表的创建 ###### · 创建空列表 创建空列表的实质是定义python使用的数据结构类型。格式为: `listname=[]` ###### · 使用赋值运算直接建立列表 在python中,也可以直接使用赋值运算符对一个变量赋值进行列表的建立。简单的说就是在空列表中直接加入元素,每个元素之间用英文逗号隔开。 示例: ```python s=["sword","art","online",1,2,3] ``` ###### · 使用list函数创建列表 也可以用`list()`方法,将一些字符转换为列表格式。 示例: ```python a="刀剑神域" s=list(a) print(s)#==>["刀","剑","神","域"] ``` ##### 列表的增、删、查、改 ###### · 元素的增加 序列通过“+”可以进行连接操作,在列表中可以使用这个符号,其本质是将两个列表的元素放在一个列表,是元素的增加。 但这个方法并不方便,而且每次都要建立一个新的列表。因此,在python中内置了增加元素的函数。 |函数名|功能| |-|-| |list.append(obj)|在列表末尾添加元素(obj)| |list.insert(index,obj)|在列表指定位置(index)插入元素(obj)| |list.extend(list)|在列表末尾增加另一个列表(list)的元素| 示例: ```python a=["刀剑"] b=["art","online"] a.append("神域") print(a)#==>['刀剑', '神域'] a.extend(b) print(a)#==>['刀剑', '神域', 'art', 'online'] a.insert(2,"sword") print(a)#==>['刀剑', '神域', 'sword', 'art', 'online'] ``` ###### · 元素的删除 列表的删除有两种方式,一种是根据元素的值直接是用remove()函数对列表中第一个对应值的元素进行删除;一种是根据索引值使用del()和pop()函数进行删除。 |函数名|功能| |-|-| |list.remove(obj)|删除列表中第一个对应值(obj)的元素| |del list[index]|删除下标所表示的元素,如果没有下标则删除整个列表| |list.pop(index)|删除列表中下标所表示的元素,如果没有下标,则删除最后一个元素| 示例: ```python a=['刀剑', '神域', 'sword', 'art', 'online'] a.remove("神域") print(a)#==['刀剑', 'sword', 'art', 'online'] del a[1] print(a)#==>['刀剑', 'art', 'online'] b=a.pop(1) print(a)#==>['刀剑', 'online'] print(b)#==>art ``` ###### · 元素的查询 在python中,对元素的查询一般使用索引进行查询。 示例: ```python a=['刀剑', '神域', 'sword', 'art', 'online'] print(a[3])#==>art ``` 不过,有些时候并不想通过索引进行查询,而是希望通过某个确定的值,来查询这个值是否存在于某个列表中。 这时候就要用到if函数进行判断了。使用if a in b语句进行判断。 其中in是成员运算符,用于判读某个元素是否在某个列表中。详情见[[Python运算符](https://www.yidaimingjvn.xyz/index.php/archives/12/ "Python运算符")](https://blog.csdn.net/weixin_52211352/article/details/111414655)中。 示例: ```python a=['刀剑', '神域', 'sword', 'art', 'online'] b="刀剑" c="sao" if b in a: print(True) else: print(False) if c in a: print(True) else: print(False) #==> #==> True False ``` ###### · 元素的修改 对于元素的修改,只需要获得元素的索引值,然后再重新赋值即可。 示例: ```python a=['sao', '神域', 'sword', 'art', 'online'] a[0]='刀剑' print(a)#==>['刀剑', '神域', 'sword', 'art', 'online'] ``` ##### 列表的特殊操作 ###### · 列表的相加 在python中,列表与列表之间可以用+号相连。 注意:不是对应位置相加,而是列表与列表相拼接。 示例: ```python str_1 = "sword" str_2=" art" list_1=list(str_1) list_2=list(str_2) print(list_1+list_2) #==>输出为['s', 'w', 'o', 'r', 'd', ' ', 'a', 'r', 't'] ``` ###### · 列表的相乘 列表可以与整数相乘。其结果是将列表内的元素全部变成整数倍个。 示例: ```python list_1=list("abc") print(list_1*3) #==> 输出为['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c'] ``` ###### · 列表的迭代 列表的迭代即列表的遍历。 遍历时python中比较常见的操作,在遍历过程中可以实现元素的输出,同时还可以对遍历的元素进行一系列操作。而实现遍历一般使用for循环。格式如下: ```python for variate in listname: print(variate) ``` 示例: ```python a=['刀剑', '神域', 'sword', 'art', 'online'] for b in a: print(b) #==> 刀剑 神域 sword art online ``` ##### 列表的排序与反转 在python中,为了方便列表的排序与反转,有两个内置方法可以使用。 |方法|功能| |-|-| |list.reverse()|将列表反转| |list.sort(reverse=Fasle)|对列表排序,默认为升序| ##### 列表的切片 列表与字符串一样,都是属于序列,同样也可以进行切片操作。 其格式为: `list[start:stop:step]` 即 `list[起始值:终止值:步长]` ##### 列表的常见操作 - list.append(object) --> 在列表末尾添加新的对象 - list.count(object) --> 统计某个元素在列表中出现的次数 - list.extend(iterable) --> 用新列表扩展原来的列表 - list.index(value) --> 从列表中找出某个值第一个匹配项的索引位置 - list.insert(index, object)--> 将对象插入列表 - list.pop([index]) --> 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 - list.remove(value) --> 移除列表中某个值的第一个匹配项 - list.reverse() --> 反向列表中元素 - list.sort(reverse=False) --> 对原列表进行排序 - list.copy() --> 复制列表 - list.clear() --> 清空列表 部分详情请见我的另一篇博客:[链接](https://www.yuque.com/yidaimingjun/ohzhwz/gbu91b)
Comments | NOTHING