文章目录

  • 前言
  • 一、序列是什么?
  • 二、列表的概念
  • 三、列表的创建
    • 1.基本语法[]创建
    • 2.list()创建
    • 3.range()创建
    • 4.推导式创建
  • 四、列表元素的增加或删除
    • 1.通过Append()方法增加列表元素
    • 2.通过+运算符增加列表元素
    • 3.通过extend()方法增加列表元素
    • 4.通过Insert()方法增加列表元素
    • 5.乘法拓展增加列表元素
    • 6.利用del删除列表元素
    • 7.利用pop()方法删除列表元素
    • 8.利用remove()方法删除列表元素
  • 五、列表元素的访问和计数
  • 六、列表的切片操作
  • 七、列表的排序
    • 1.修改原列表
    • 2.建立新列表
    • 3.通过reversed()返回逆序排列
    • 4.其他方法
  • 八、多维列表
  • 拓展学习——元祖
    • 1.元祖的创建与删除
    • 2.元祖的访问、计数和排序

前言

笔者刚开始学习Python。本文主要记录学习,如有错漏和不足之处,请大家指正❀。本篇主要讲述序列中的列表,同时简单介绍元祖。

一、序列是什么?

序列是一种数据存储方式,用来存储一系类的数据。
序列结构:字符串、列表、元祖、字典、集合。

二、列表的概念

列表:任意对象(任意元素、任意类型)的序列,如[10,20,30]

列表对象常用方法的要点:增加元素、删除元素、访问元素、计数、列表长度、翻转列表、排序、浅拷贝等。
需要注意的还是,列表的大小可变,根据需要可以随时增加或缩小。

三、列表的创建

1.基本语法[]创建

a = [“linshen”,20,30]
a = [] #创建一个空的列表对象

2.list()创建

a = list()#创建一个空的列表对象

list()可以用来将任何可迭代的数据转化成列表,以a = list(“linshen”)为例,可以得到

In [1]: a = list("linshen")In [2]: a
Out[2]: ['l', 'i', 'n', 's', 'h', 'e', 'n']

3.range()创建

标准格式为:

range([start,]end[,step])

其中,end必选,start可选,默认为0,step可选,默认为1。整数序列可以用range()和list()变成列表

4.推导式创建

推导式创建可以通过循环创建多个元素,如下所示:

In [13]: d =[x*2 for x in range(10)]In [14]: d
Out[14]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

有时候,也可以通过if过滤元素。

四、列表元素的增加或删除

对内存进行修改,出于列表操作效率的考虑,一般只在列表尾部添加元素或删除元素。在这里介绍几种增加或删除列表元素的方法。

1.通过Append()方法增加列表元素

在尾部添加新的元素,速度最快

a = [5,2]
a.append(0)

得到a = [5,2,0]

2.通过+运算符增加列表元素

创建新的列表对象

a = [5,2]
a = a+[0]

得到a = [5,2,0]

3.通过extend()方法增加列表元素

将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象。此时,列表对象的id没有变化。

In [1]: a = [5,2]In [2]: id(a)
Out[2]: 2556694327880In [3]: a.extend([0])In [4]: a
Out[4]: [5, 2, 0]In [5]: id(a)
Out[5]: 2556694327880

4.通过Insert()方法增加列表元素

用于将指定元素插入到列表对象的指定位置。
(当要处理的元素较多时,尽量避免使用)

a = [5,2,0]
a.insert(2,100)#在第二个位置插入数值100

得到a=[5,2,100,0]

5.乘法拓展增加列表元素

列表的乘法拓展和字符串的乘法原理相同。生成一个新列表,进而实现原列表元素的多次重复。

6.利用del删除列表元素

a = [5,2,0]
del a[2]

得到a=[5,2]

7.利用pop()方法删除列表元素

pop()可以删除并返回指定位置元素。
如果此时未指定位置,则默认操作列表最后一个元素。

a = [10.20,30,40,50]
b=a.pop()

得到b=50a=[10,20,30,40]

8.利用remove()方法删除列表元素

可以利用remove()删除首次出现的指定元素。
当不存在该元素时,则会显示异常。

五、列表元素的访问和计数

这一部分的内容比较简单,具体而言,可以有下述方法:
1. 通过索引直接访问元素,索引的区间在[0,列表长度-1]
2. Index()获得指定元素在列表中首次出现的索引,语法是index(value,[start,[end]])。其中,start和end确定了搜索的范围。
3. count()获得指定元素在列表中出现的次数
4. len()返回列表的长度#即包含元素的个数
5. 成员资格判断,用in操作符可以简洁判断,偶尔也可以使用count()

六、列表的切片操作

(* ̄︶ ̄)切片slice操作可以快速提取子列表或修改。
其标准格式为:
[起始偏移量start:种植偏移量end[:步长step]]。

注意:当步长省略时可以省略第二个冒号,列表的切片操作和字符串的切片基本一致。

为方便计算,选择如下实例计算:

>>> a =[10,20,30,40,50,60,70]
>>> a[1:3:1]
[20, 30]

七、列表的排序

在此,主要介绍列表排序的4种方法:

1.修改原列表

内容 排列
a.sort() 默认是升序排列
a.sort(reverse=True) 降序排列
random.shuffle(a) 打乱顺序

2.建立新列表

可以通过内置函数sorted()进行排序,这一方法并不修改原列表

>>> c = [5,2,0]
>>> id(c)
1758750284808
>>> c = sorted(c)#默认升序排列,如需降序排列可以参考上述reverse=True
>>> c
[0, 2, 5]

3.通过reversed()返回逆序排列

可以通过切片操作返回逆序,具体如下:

>>> q = reversed(c)
>>> q
<list_reverseiterator object at 0x000001997DAFEC08>
>>> list(q)
[5, 2, 0]
>>> list(q)
[]#迭代器只能迭代一次

4.其他方法

除了上述方法,涉及列表排序还有Max()、Min()、Sum()等等,在这里就不加以赘述用法了。

八、多维列表

类型 数据
一维列表 线性数据 [1,2,3,4,5]
二维列表 二维、表格的数据

为了方便理解,我们可以将多维列表视作列表套列表。对于二维数组,可以通过a[]a[][]索引。


拓展学习——元祖

元祖属于不可变序列,元祖的访问和处理速度比列表快。元祖可以作为字典的键,列表不能作为字典的键使用。

1.元祖的创建与删除

  • 通过()创建元祖。
    小括号可以省略;当只有一个数时应加“,”,不然其type会被认定为数值(整型或浮点数型)。
  • 通过tuple()创建元祖。
    其中,可以利用tuple()将字符串、列表、其他序列类型、迭代器等生成元祖,和list()异曲同工。
  • 生成器推导式创建元祖。
    和列表推导式相似,生成器推导式生成的不是列表也不是元祖,而是一个生成器对象。下面是生成器推导式创建元祖的一个实例:
>>> s = (x*3 for x in range(9))
>>> s
<generator object <genexpr> at 0x000001997DA79CC8>
>>> tuple(s)
(0, 3, 6, 9, 12, 15, 18, 21, 24)
>>> tuple(s)
()
  • del可以删除元祖(方法与列表相似)。

2.元祖的访问、计数和排序

元祖的访问、计数和排序方法与列表基本相同。
需要注意的是,列表排序中list.sorted()可以修改原列表对象,而元祖不行。元祖只能使用sorted(tupleOjb),在此情况下会生成新的列表对象,而非元祖。

Python入门之基础知识(三)相关推荐

  1. 初识 Python 必看基础知识~ 熬夜爆肝

    本文主要梳理一些 Python 入门的基础知识,分享给每一位走在IT路上的侠客~ 全文知识梳理来源于<Python编程 从入门到实践(第2版)> 声明:未打广告,豆瓣评分9.3,刷博客时见 ...

  2. python基础一入门必备知识-Python数据分析入门必备基础知识

    今天,老师要带大家解数据分析的定义.核心思路.应用领域以及开发流程,向大家全方位展示数据分析入门必备基础知识,全都是干货哦!虽然看完本文,不能让大家立马变身为一名数据分析师,但是能让大家对数据分析有一 ...

  3. 学python需要什么基础知识-没学过Python先要学习哪些基础知识?

    零基础学Python应该学习哪些入门知识 关于零基础怎么样能快速学好Python的问题,百度提问和解答的都很多,你可以百度下看看.我觉得从个人自学的角度出发,应从以下几个方面来理解: 1 为什么选择学 ...

  4. python基础知识资料-学习Python列表的基础知识汇总

    千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...

  5. Python入门——语言基础

    Python入门--语言基础 文章目录 Python入门--语言基础 一.标准输入和输出 二.变量和常量 三.运算符 四.选择结构 六.注释 七.逻辑行 一.标准输入和输出 1.标准输入(注意:inp ...

  6. python二级公共基础知识

    python二级公共基础知识 一.算法和数据结构 算法及其基本特征: 算法是对解题方法的准确而完整的描述. 算法的四个基本特征:可行性,确定性,有穷性,拥有足够的情报.  算法的复杂度: 算法的时间复 ...

  7. GPS 入门 1 —— 基础知识[转]

    GPS 入门 1 -- 基础知识 [转] (2008-10-11 18:14:57) <script> var $tag='gps,杂谈'; var $tag_code='b7179ced ...

  8. Python复习笔记——基础知识

    Python复习笔记-基础知识 文章目录 Python复习笔记-基础知识 Python变量 基于值的内存管理方式 赋值语句的执行过程 Python定义变量名的规范 运算符和表达式 加+ 乘* 除/ % ...

  9. 炒股入门初学者基础知识讲解,如何掌握新手炒股入门基础知识

    对一些刚入股市的新手来讲,要学习的股票术语和一些图标实在是太多了,很多的新手在炒股的时候不知道炒股的技巧是什么,毕竟万事开头难,所以大家要多了解一些基础的知识.下面为大家介绍下QR技术分析社区中关于炒 ...

最新文章

  1. 【AI思辨】八年之痒!除了NLP和CV,人工智能就不能干点别的啥了?
  2. LED亮度与电流之间的关系?
  3. mysql-explain
  4. HDU- 2973 YAPTCHA(威尔逊定理)
  5. 前端开发中如何将文件夹中的图片变为背景图_Web中的图像技术全面总结,长文干货!...
  6. 二度云抢先成为首批中国工信部(.vip/.xyz/.club)域名注册管理机构
  7. linux lnmp1.5.tar.gz,Linux 下lnmp
  8. 中国电信完成雷神山1672部固话装机任务
  9. 情爱宝典:识破男女间的“放电”信号
  10. go -生成pb文件 - 上
  11. 实战HTML:模拟简书首页静态实现
  12. DWF是个什么格式,要怎么进行相应的格式转换?
  13. 西餐餐饮文化、简单鸡尾酒调制~~DIY的力量无穷
  14. Mind Elixir思维导图使用方法
  15. 搜图出处的软件_以图搜图搜gif图片出处来源的懒人小工具
  16. 3.2【微信小程序全栈开发课程】登录功能(一)--实现登录功能
  17. mac电脑有很多._开头的文件
  18. 年终礼品交换潮iPhone、iPad最抢手
  19. Android 拍照:如何使用已有相机应用捕获图片(Taking Photos Simply
  20. AI行业精选日报_人工智能(12·16)

热门文章

  1. leetcode:13、罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
  2. 用户购物(数据库)案例
  3. java入门好学吗_java好学吗?我是小白中的小白,零基础...
  4. 了解光纤宽带与普通宽带ADSL区别、光纤的通信原理
  5. 大数据培训靠不靠谱?如何选择培训机构?
  6. 这些都是我自学时私藏的学习网站/实用工具网站/技术网站,非常适合自学
  7. 基于ESP32的开源定时浇花系统
  8. XML的优势及应用领域
  9. 十大高颜值蓝牙耳机排行榜,最受欢迎的真无线蓝牙耳机前十名
  10. CV学习笔记-VGG