列表简介

组合数据类型-列表

都有哪些数据类型

Python中提供了四种组合数据类型

  • 列表 使用关键字 list 表示
  • 元组 使用关键字 tuple 表示
  • 集合 使用关键字 set 表示
  • 字典 使用关键字 dict 表示

面试题

简单叙述一下 python 中都有哪些数据类型?

python 官方推荐使用的数据类型有 6种,分别是

字符串 , 数值 (整数|浮点数|复数|布尔)
列表 ,元组 ,集合 ,字典

这些都是内建的可以直接使用的类型,实际开发时还可以使用更多的数据类型
但是我参与的项目组中一般为了更准确的描述使用不同的数据,将直接使用的数据类型区分为三种类型,分别是:

基础数据类型,包括字符串,数值,布尔类型以及比较简单的空值None
组合数据类型,包含列表,元组,集合,字典
对象数据类型,有python内建的类型以及自定义类型

什么是列表

列表:组合数据类型中的一种数据类型。
用来有顺序的存储可以重复的可以是不同数据类型多个数据

列表的出处

软件是解决生活中的实际问题,还原生活场景,通过代码的形式表示生活的中事物
更好的解决生活中遇到的问题!列表的操作,如图所示:

img

列表都有哪些操作

列表作为一个容器,可以完成数据的 CURD 操作

1. 查看列表的所有操作方式

python提供了一个操作 dir() 可以查看指定类型的所有操作方式

>>> dir(list)
# 此处省略了双下划线方法
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

2. 查看某个函数的作用

当我们查看到了某个函数,但是不知道怎么去执行的时候,可以使用 python 提供的 help() 来查看帮助说明

>>> help(list.append)
Help on method_descriptor:

append(self, object, /)
Append object to the end of the list.

创建列表

# 1. 声明一个空列表:存放学员姓名
# 通过列表关键字声明 【推荐】
stu_names = list()

# 通过快捷符号声明,混合开发时不推荐
# 其它语言中 [] 用来声明数组
stu_names = []


# 2. 创建一个非空列表
# 使用关键字声明 【画蛇添足】
stu_names = list(["ming","ning","tian"])

# 使用符号声明【推荐】
stu_names = ["ming","ning","tian"]

增加数据

列表中增加数据,有三种操作方式

  • append(obj) : 在列表的末尾追加一个数据
  • extend(objs) : 在列表的末尾追加一组数据
  • insert(index,obj) : 在列表的指定位置,追加一个数据

img

查询数据

查看列表中的数据,有不同的操作方式

1. 查看列表中的所有数据

# 通过列表名称,直接查看列表中的所有数据,固定的展示格式!
>>> lst = [1,2,3,4]
>>> print(lst)
[1, 2, 3]

2. for循环遍历数据

>>> lst = [1,2,3]
>>> for i in lst:
...    print(i)
...
>>> 1 
>>> 2
>>> 3

3. 查看列表中的某个数据

>>> lst = [1,2,3]
>>> print(lst[1])
2

4. 查看某个数据在列表中出现的次数

>>> lst = [1,2,3,4,2,1]
>>> print(lst.count(2))
2

5. 查询某个数据在列表中的索引

>>> lst = [1,2,3,4,5]
>>> print(lst.index(3))
2

小结:列表中的所有查询操作

img

修改数据

# 在指定的下标位置,使用新数据覆盖原来的数据
>>> lst = [1,2,3,4,5]
>>> lst[0] = 0
>>> print(lst)
[0, 2, 3, 4, 5]

删除数据

列表做为一个可以存储多个数据的容器,删除数据就有多种操作方式

  • pop() 删除并返回指定编号位置的数据,默认为最后一个
  • del list[索引] 删除指定编号位置的数据
  • remove(obj) 删除列表中指定的一个数据
  • clear() 删除列表中的所有数据
  • del list 删除整个列表

列表中的其它操作

  • recerse() 翻转列表
  • sort 为列表排序
  • len 返回列表长度

深拷贝与浅拷贝

浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值