Python之数据类型(三)详解

三. 列表类型

List列表是python中使用最频繁的数据类型
它是以逗号分隔的元素集 ( 包括任意6种数据类型 ),并写在[ ]方括号内的组成形式

[ ]内可包含所有数据类型:
在这里插入图片描述

1.列表的增删改查

(1) 增:

  1. append(x):
    一次只能增加一个元素x,否则报错:
    append()参数添加多个值3和4就报错:
    在这里插入图片描述
    不可通过索引来添加元素,否则越界报错:
    在这里插入图片描述
    4个number数字型
    整型:
    在这里插入图片描述
    浮点型:
    在这里插入图片描述
    布尔型:
    在这里插入图片描述
    复数型:
    在这里插入图片描述
    其余类型
    列表:
    在这里插入图片描述
    元组:
    在这里插入图片描述
    集合:
    在这里插入图片描述
    字典:
    在这里插入图片描述
  2. extend(x):
    一次增加多个元素(), x必须为可迭代对象( 即除了number数据类型外 ),否则报错:
    number型不可迭代
    在这里插入图片描述
    字符串:
    在这里插入图片描述
    列表:
    在这里插入图片描述
    元组:
    在这里插入图片描述
    集合:注意集合的不可重复与无序性
    在这里插入图片描述
    字典:添加字典的key值
    在这里插入图片描述
    推倒式:
    在这里插入图片描述
  3. 通过 + list / * n
    + list 拼接列表
    在这里插入图片描述
    * n 重复列表n次
    在这里插入图片描述
  4. list.insert( index , obj ):
    插入后移
    在这里插入图片描述

(2) 删(删除与清空)

  1. 删除一个元素
    del方法:del + list [ index ]
    在这里插入图片描述
    pop(x)方法:x指定删除位置,默认最后一个元素,并返回该函数的值
    在这里插入图片描述
    remove(x) 移除列表第一个匹配x的项,找不到就报错
    在这里插入图片描述
  2. 删除或清空整个列表
    del方法: del + list
    在这里插入图片描述
    删除列表

    clear方法: list.clear
    在这里插入图片描述
    清空列表

(3) 改

  1. 修改元素
    不同于字符串类型,list类型可以修改索引对应的元素值
    在这里插入图片描述
  2. 切片,截取部分元素
    类似于string的操作
    在这里插入图片描述
    截取list片断进行修改:
    在这里插入图片描述

(4) 查

类似于string字符串类型,通过索引查找:
在这里插入图片描述

2.常见列表函数

len()

以list中元素为单位计算列表长度
在这里插入图片描述

max() / min

查找列表元素最大 / 最小值:

  1. 在列表中,每个元素内部,以从左往右的优先级,按照每个字符在ASCII值种的大小进行比较(使用ord() 函数来查看ASCII值 )
    在这里插入图片描述
    在这里插入图片描述
  2. 不同标准数据类型不可比较大小( 即str与number不可比较,但是同属于number标准数据类型的int,float,bool之间可以比较大小,注意前面知识:复数不可比较大小):
    在这里插入图片描述

list(seq)

将序列转化为列表:
seq为推倒式:
在这里插入图片描述
seq为列表:(自身)
在这里插入图片描述
seq为元组:(直接转换)
在这里插入图片描述
seq为集合:(直接转换)
在这里插入图片描述
seq为字典:(将字典的key值组成list)
在这里插入图片描述

list.count(x)

以list中元素为单位统计x元素在list中出现次数
在这里插入图片描述

index(element, start, length)

用法同string字符串类型的index函数,element在list中第一次出现的元素,start起始位置,length扫描长度
在这里插入图片描述
在这里插入图片描述
找不到则报错

reverse()

反向列表中的元素
在这里插入图片描述

sort()

对str类型按字母表排序:
在这里插入图片描述
对int类型进行排序:
在这里插入图片描述
对布尔型进行排序:
在这里插入图片描述
复数不可比较大小:
在这里插入图片描述
同类型排序比较大小,不可混搭(即number与str类型不可混搭,同属于number的int,float和bool可以混搭):
在这里插入图片描述
在这里插入图片描述
这里False=0,True=1,可参照前面number类型的讲解

copy() 和 deepcopy()

=赋值、deepcopy深拷贝与copy浅拷贝的区别:

预热:字符串与数字是不可变类型,引用、地址与值是一一对应关系;可变类型,不同引用对应不同地址可对应同一值;引用是对象的地址指向内存中的值

=赋值:没有拷贝对象,共用同一个对象,只是拷贝了对象的引用,原始列表改变,被赋值的列表也做同样改变

copy浅拷贝:拷贝了对象,两个不同的对象,也拷贝了对象的引用,原始列表改变,被赋值的列表也做同样改变
注意:浅拷贝列表里,不可变类型改变,会使该对象产生新的地址,也就是新的引用

deepcopy深拷贝:拷贝了对象,拥有不同与原对象的引用,原始列表与拷贝列表互不干扰

可以看我写的一篇博文: 可变类型与不可变类型及其赋值、浅拷贝与深拷贝

发布了45 篇原创文章 · 获赞 1 · 访问量 2431

猜你喜欢

转载自blog.csdn.net/weixin_44225602/article/details/88708351
今日推荐