1.字节
字节介绍
在python3以后,字符串和bytes类型彻底分开了。字符串是以字符为单位进行处理的,bystes是以字节为单位处理的。
bytes数据类型在所有的操作和使用,甚至内置方法上和字符串数据类型基本一样,也是不可变的序列对象。
在python3中,bytes通常用于网络数据传输、二进制图片和文件保存等。
字节的创建
创建字节可以使用bytes()方法创建,也可以在字符串前加上一个b来创建。
如果同一个字符串采用了不同的编码,那么bytes的值也不一样。
如:
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中,也可以直接使用赋值运算符对一个变量赋值进行列表的建立。简单的说就是在空列表中直接加入元素,每个元素之间用英文逗号隔开。
示例:
s=["sword","art","online",1,2,3]· 使用list函数创建列表
也可以用list()方法,将一些字符转换为列表格式。
示例:
a="刀剑神域"
s=list(a)
print(s)#==>["刀","剑","神","域"]列表的增、删、查、改
· 元素的增加
序列通过“+”可以进行连接操作,在列表中可以使用这个符号,其本质是将两个列表的元素放在一个列表,是元素的增加。
但这个方法并不方便,而且每次都要建立一个新的列表。因此,在python中内置了增加元素的函数。
|函数名|功能|
|-|-|
|list.append(obj)|在列表末尾添加元素(obj)|
|list.insert(index,obj)|在列表指定位置(index)插入元素(obj)|
|list.extend(list)|在列表末尾增加另一个列表(list)的元素|
示例:
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)|删除列表中下标所表示的元素,如果没有下标,则删除最后一个元素|
示例:
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中,对元素的查询一般使用索引进行查询。
示例:
a=['刀剑', '神域', 'sword', 'art', 'online']
print(a[3])#==>art不过,有些时候并不想通过索引进行查询,而是希望通过某个确定的值,来查询这个值是否存在于某个列表中。
这时候就要用到if函数进行判断了。使用if a in b语句进行判断。
其中in是成员运算符,用于判读某个元素是否在某个列表中。详情见[Python运算符](https://blog.csdn.net/weixin_52211352/article/details/111414655)中。
示例:
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· 元素的修改
对于元素的修改,只需要获得元素的索引值,然后再重新赋值即可。
示例:
a=['sao', '神域', 'sword', 'art', 'online']
a[0]='刀剑'
print(a)#==>['刀剑', '神域', 'sword', 'art', 'online']列表的特殊操作
· 列表的相加
在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']· 列表的相乘
列表可以与整数相乘。其结果是将列表内的元素全部变成整数倍个。
示例:
list_1=list("abc")
print(list_1*3)
#==>
输出为['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']· 列表的迭代
列表的迭代即列表的遍历。
遍历时python中比较常见的操作,在遍历过程中可以实现元素的输出,同时还可以对遍历的元素进行一系列操作。而实现遍历一般使用for循环。格式如下:
for variate in listname:
print(variate)示例:
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() --> 清空列表
部分详情请见我的另一篇博客:链接


Comments | NOTHING