python基础数据类型(二)


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() --> 清空列表

部分详情请见我的另一篇博客:链接

声明:一代明君的小屋|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - python基础数据类型(二)


欢迎来到我的小屋