Python学习-day3

本文详细介绍了Python编程中的序列概念,重点讲解了列表的创建、增加和删除元素、访问计数及排序方法。此外,还讨论了元组的创建、访问计数以及与列表的区别。内容涵盖了列表的append、extend、insert方法,以及del、pop、remove操作,强调了在大量元素操作时的效率问题。同时,提到了元组的不可变性及其相关操作。最后,简要提及了多维列表、zip函数和生成器推导式创建元组的应用。
摘要由CSDN通过智能技术生成


参考:北京尚学堂·百战程序员

序列

序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放
多个值的连续的内存空间。比如一个整数序列[10,20,30,40]可以这样示意表示
在这里插入图片描述
由于 Python3 中一切皆对象,在内存中实际是按照如下方式存储的:
在这里插入图片描述
从图示中,我们可以看出序列中存储的是整数对象的地址,而不是整数对象的值。python
中常用的序列结构有:
字符串、列表、元组、字典、集合

列表介绍

列表:用于存储任意数目、任意类型的数据集合。
列表是内置可变序列,是包含多个元素的有序连续的内存空间。列表定义的标准语法格式:
a = [10,20,30,40]
其中,10,20,30,40 这些称为:列表 a 的元素。
列表中的元素可以各不相同,可以是任意类型。比如:
a = [10,20,‘abc’, True]
列表对象的常用方法汇总如下,方便大家学习和查阅
在这里插入图片描述
Python 的列表大小可变,根据需要随时增加或缩小

列表的创建

  • 基本语法[]创建
  • list ()创建
    使用 list()可以将任何可迭代的数
  • range ()创建整数列表在这里插入图片描述
  • 推导式生成列表
    在这里插入图片描述

列表元素的增加和删除

当列表增加和删除元素时,列表会自动进行内存管理,大大减少了程序员的负担。但这
个特点涉及列表元素的大量移动,效率较低。除非必要,我们一般只在列表的尾部添加元素
或删除元素,这会大大提高列表的操作效率

列表元素增加

  • append()方法
  • +运算符操作
    并不是真正的尾部添加元素,而是创建新的列表对象;将原列表的元素和新列表的元素依次
    复制到新的列表对象中。这样,会涉及大量的复制操作,对于操作大量元素不建议使用。
  • extend ()方法
    将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象
  • insert ()插入元素
    使用 insert ()方法可以将指定的元素插入到列表对象的任意制定位置。这样会让插入位置后
    面所有的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用。类似发生这种
    移动的函数还有:remove () 、pop () 、del () ,它们在删除非尾部元素时也会发生操作位置后
    面元素的移动
  • 乘法扩展

列表元素删除

  • del 删除
    删除列表指定位置的元素
  • pop ()方法
    pop ()删除并返回指定位置元素,如果未指定位置则默认操作列表最后一个元素
  • remove ()方法
    删除首次出现的指定元素,若不存在该元素抛出异常。

列表元素访问和计数

  • 通过索引直接访问元素
    我们可以通过索引直接访问元素。索引的区间在[0, 列表长度-1]这个范围。超过这个范围则
    会抛出异常
  • index ()获得指定元素在列表中首次出现的索引
    index ()可以获取指定元素首次出现的索引位置。语法是:index(value, [start, [end]]) 。其中,
    start 和 end 指定了搜索的范围
  • count()获得指定元素在列表中出现的次数
    count()可以返回指定元素在列表中出现的次数。
  • len()返回列表长度
    len()返回列表长度,即列表中包含元素的个数
  • 成员资格判断
    判断列表中是否存在指定的元素,我们可以使用 count()方法,返回 0 则表示不存在,返回
    大于 0 则表示存在。但是,一般我们会使用更加简洁的 in 关键字来判断,直接返回 True
    或 False
  • 切片操作
    在这里插入图片描述
    在这里插入图片描述
  • 列表遍历
    在这里插入图片描述
  • 复制列表所有的元素到新列表对象
    在这里插入图片描述

列表排序

  • 修改原列表,不建新列表的排序
  • 建新列表的排序
    在这里插入图片描述
  • reversed ()返回迭代器
    内置函数 reversed()也支持进行逆序排列,与列表对象 reverse()方法不同的是,内置函数
    reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象
    在这里插入图片描述

多维列表

二维列表

在这里插入图片描述

元组 tuple

列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的
元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。
因此,我们只需要学习元组的创建和删除,元组中元素的访问和计数即可。元组支持如
下操作:

  1. 索引访问
  2. 切片操作
  3. 连接操作
  4. 成员关系操作
  5. 比较运算操作
  6. 计数:元组长度 len()、最大值 max()、最小值 min()、求和 sum()等

元组的创建

在这里插入图片描述

元组的元素访问和计数

在这里插入图片描述

zip

在这里插入图片描述

生成器推导式创建元组

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值